FindWindow vs GetActiveWindow - 为什么它们会返回不同的句柄?

时间:2009-09-19 03:29:37

标签: c# findwindow

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

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); 

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

结束“GetActiveWindow”似乎正在回归儿童区。

GetForegroundWindow()返回windows句柄。