Frage

Zum Beispiel, wenn ich auf Visual Studio 2008 gerade arbeite, mag ich die Werte devenv und 2008 oder 9.

Die Versionsnummer ist sehr wichtig ...

War es hilfreich?

Lösung

Das wird PInvoke Stadt sein ...

Sie müssen die folgenden API in User32.dll PInvoke

Win32 :: GetForegroundWindow () das HWND des gerade aktiven Fenster in kehrt zurück.

/// <summary>
/// The GetForegroundWindow function returns a handle to the foreground window.
/// </summary>
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();

Win32 :: GetWindowThreadProcessId (HWND, LPDWORD) gibt die PID eines gegebenen HWND

[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

In C #

Process.GetProcessByID () nimmt die PID ein C # Prozess-Objekt zu erstellen

processInstance.MainModule gibt einen Process mit Fileversioninfo beigefügt.

Andere Tipps

Das Projekt die beiden Funktionen zeigt, was Sie brauchen: EnumWindows und GetWindowText

Können Sie Ihre Frage klären? Meinen Sie damit Sie ein Programm laufen soll, mit dem Sie Daten über das Programm im aktiven Fenster wird Ihnen sagen? Oder dass Sie Ihr Programm will seine eigene Version berichten aus?

Was Sie suchen die Informationen zu erhalten oder so ist

scroll top