这将是PInvoke市......
您需要在User32.dll中PInvoke以下API
Win32 :: GetForegroundWindow()返回当前活动窗口的HWND.
/// <summary>
/// The GetForegroundWindow function returns a handle to the foreground window.
/// </summary>
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
Run Code Online (Sandbox Code Playgroud)
Win32 :: GetWindowThreadProcessId(HWND,LPDWORD)返回给定HWND的PID
[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
Run Code Online (Sandbox Code Playgroud)
在C#中
Process.GetProcessByID()获取PID以创建C#进程对象
processInstance.MainModule返回附加了FileVersionInfo的ProcessModule.