Mit der Funktion EnumWindows() kannst du alle Fenster von Windows aufzählen lassen. Als zweiten Parameter übergibst du einfach 0, als ersten musst du eine Funktion übergeben, die du selbst definiert hast.
z.B.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| EnumWindowsProc(wnd: HWND, lParam: LONG); stdcall; var szName: PChar; begin szName := StrAlloc(GetWindowTextLength(wnd)); GetWindowText(wnd, szName, GetWindowTextLength(wnd)); DeineListbox.Items.Add(String(szName)); StrDispose(szName); end; |
Wenn du jetzt
Quelltext
1:
| EnumWindows(EnumWindowsProc, 0); |
aufrufst, dürfte das deine Listbox füllen. Wenn sie denn DeineListbox heißt.
Falls der letzte Aufruf nicht kompiliert musst du vielleicht @EnumWindowsProc schreiben.
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.