Fensterliste mit EnumWindows()

M

mina_

Hallo,
ich hab ein kleines Problem, vielleicht könnte ihr mir weiterhelfen. Ich möchte in einem C-Progamm eine Liste der geöffneten Fenster ausgeben. Soweit ich weiß, macht man das mit der Fkt. EnumWindows(). Ich weiß nur leider nicht was genau ich in die Callback-Fkt. schreiben muss, damit er mir auch den Fenstertitel ausgibt. Irgendwie steh ich grad voll aufm Schlauch und es will einfach nicht funktionieren. Mein Code sieht jetzt so aus:

TCHAR lpClassName[255];
TCHAR lpWindowName[255];

[...]
case WM_COMMAND:
switch( LOWORD(wParam) )
{
case ID_MEIN_BUTTON:
EnumWindows((WNDENUMPROC) &EnumWindowsProc, (LPARAM) hWnd);
InvalidateRect(hWnd, &rc, TRUE);
break;
[...]
}
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDC = BeginPaint(hWnd, &ps);
RECT rc;
GetClientRect(hWnd, &rc);
TextOut(hDC, 195, 20, lpWindowName, 255);
[...]
break;
}

BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
int nMaxCount = 255;
GetClassName(hWnd, (LPTSTR)lpClassName, nMaxCount);
GetWindowText(hWnd, (LPTSTR)lpWindowName, nMaxCount);

return TRUE;
}

Kann mir vielleicht jemand helfen wie ich das richtig mache?

LG mina_
 

Neue Beiträge

Zurück