1

任何人都知道为什么这不起作用?

IntPtr hWnd = FindWindow(null, "Calculator");
IntPtr hWnd2 = GetActiveWindow();

if(hWnd == hWnd2)
{
     MessageBox.Show("Same");
}

调用是:

[DllImport("user32.dll")]
static extern IntPtr GetActiveWindow();

[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 
4

2 回答 2

1

GetActiveWindow() 很有可能将句柄返回到您的应用程序/命令窗口。

于 2009-09-19T03:52:14.077 回答
1

最终“GetActiveWindow”似乎正在返回子区域。

GetForegroundWindow() 正在返回窗口句柄。

于 2009-09-19T03:53:16.290 回答