Registriert seit: 18. Jan 2008
594 Beiträge
|
Re: ChildWindow nicht gefunden? Wieso?
19. Jan 2010, 11:30
Also ich habs jetzt einfach mal so gemacht...
Delphi-Quellcode:
function Get_HandoffBox_Handle : HWND;
Var
NextHandle: HWND;
WinTitle, WinClass: Array[0..255] of Char;
wndChild : HWND;
Const ClassName = '#32770';
WindowTitle = '';
begin
Result := 0;
NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST); // erstes Fenster ermitteln
while NextHandle > 0 do // falls Fenster gefunden
begin
// Fenster Titel, Klassennamen ermitteln
GetWindowText(NextHandle, WinTitle, SizeOf(WinTitle));
GetClassName(NextHandle, WinClass, SizeOf(WinClass));
// Überprüfung, ob Anfang der Strings übereinstimmen
if (Copy(WinTitle, 1, Length(WindowTitle)) = WindowTitle) and
(Copy(WinClass, 1, Length(ClassName)) = ClassName) then
begin
// Fenster gefunden, abbrechen
Result := NextHandle;
// ermitteln ob Listbox und Button
wndChild := FindWindowEx(Result, 0, 'ListBox', nil);
if wndChild <> 0 then
begin
Result := wndChild;
break;
end;
NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);
end
else
NextHandle := GetWindow(NextHandle, GW_HWNDNEXT); // nächstes Fenster ermitteln
end;
end;
Es funktioniert auch, setzt allerdings vorraus, dass das fenster auf dem die Box liegt vorher geöffnet wurde...
|
|
Zitat
|