Einzelnen Beitrag anzeigen

SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#3

Re: ChildWindow nicht gefunden? Wieso?

  Alt 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...
  Mit Zitat antworten Zitat