FindWindow против GetActiveWindow - почему они возвращают разные дескрипторы? - PullRequest
1 голос
/ 19 сентября 2009

Кто-нибудь имеет представление, почему это не сработает?

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 ]

1 голос
/ 19 сентября 2009

Заканчивается "GetActiveWindow", похоже, возвращает дочерние области.

GetForegroundWindow () возвращает дескриптор окна.

1 голос
/ 19 сентября 2009

Вполне возможно, что GetActiveWindow () возвращает дескриптор в окно приложения / команды.

...