|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
BOOL CALLBACK EnumWindowsProc ( HWND hwnd, LPARAM lParam )
{
if ( hwnd )
{
GetWindowText ( hwnd, winName, sizeof(winName) );
cout << "Window: " << winName << endl;
return true;
} else return false;
}
|
Ist es hierbei möglich über mein HWND zu ermitteln ob die Anwendung ein Fenster hat ?
Weil in dieser Schleife wird mir jede Menge ausgegeben, ich glaube das sind die Steuerelemente der einzelnen Anwendungen.
---------------
Wenn ich ein HWND oder ein HANDLE auf eine Anwendung habe, gibt es dann einen einfachen weg herauszufinden ob dieses Fenster noch aktiv ist (bzw. nicht schon geschlossen wurde) ?
Man könnte es natürlich so machen:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
winHandle = OpenProcess ( PROCESS_ALL_ACCESS,false,procId);
if ( winHandle )
{
....
}
|
Aber ich glaube z.B. in einer Nachrichtenschleife ist das ganze sehr performancelastig.
Oder ist es möglich über mein HANDLE bzw. HWND eine Datenstruktur zu füllen die mir Information bereit stellt ?
Ich habe da an sowas wie PROCESSENTRY32:
gedacht.
http://msdn.microsoft.com/en-us/library/ms684839(VS.85).aspx