Hi,
aaaaaaaalso
ich mach das mit einer modifikation des codes aus einem post weiter oben, die so ausschaut
Delphi-Quellcode:
function EnumWindowsProc (Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
var Bezeichnung : Array[0..200] of Char;
begin
if (IsWindowVisible(Wnd) or IsIconic(wnd)) and
((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
(GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and
(GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then begin
GetWindowText(Wnd, Bezeichnung, 256);
Form1.listbox1.Items.add(Bezeichnung);
Form1.listbox2.Items.add(IntToStr(wnd));
From1.listbox3.Items.add(InToStr(Windows.GetWindowThreadProcessID(wnd, ProcID)));
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc, 1);
end;
Jetzt hab ich aber manchmal die gleichen werte in listbox3 obwohl beim gleichen index in listbox1 verschiedene namen stehen. Und das auch, wenn es fenster von verschiedenen anwendungen sind.
MfG - Ghost007