Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Browser öffnen und automatisch anmelden

  Alt 10. Mär 2010, 12:58
Zitat von himitsu:
Erstmal schauen was wndChild wann für Werte hat und wenn am Ende wirklich wndChild<>0 rauskommt, dann schauen was SendMessage as Rückgabewerte liefert.
Stimmt alles - leider!

ABER auch ein blindes Huhn findet hin und wieder mal ein Korn:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
   I : Integer;
   TestText : String;
   wndMain : HWND;
   wndChild : HWND;
Begin
   wndMain:=FindWindow('MozillaUIWindowClass', 'Advoplex - Mozilla Firefox');
   If wndMain <> 0 Then
   Begin
      wndChild:=FindWindowEx(wndMain, 0, 'MozillaWindowClass', nil);
      wndChild:=FindWindowEx(wndChild, 0, 'MozillaContentWindowClass', nil);
      wndChild:=FindWindowEx(wndChild, 0, 'MozillaWindowClass', nil);
      If wndChild <> 0 Then
      Begin
         TestText:='Benutzername';
         For I:=1 To Length(TestText) Do
            SendMessage(wndChild, WM_CHAR, Ord(TestText[I]), 0);
         SendMessage(wndChild, WM_CHAR, VK_TAB, 0);
         TestText:='Passwort';
         For I:=1 To Length(TestText) Do
            SendMessage(wndChild, WM_CHAR, Ord(TestText[I]), 0);
         SendMessage(wndChild, WM_CHAR, VK_RETURN, 0);
      End
      Else ShowMessage('Kein TEdit');
   End
   Else ShowMessage('Kein AdvoPlex');
end;
Ein (T)Edit gibt es in der Tat nicht. Aber das hindert mich nicht, bei bekanntem Formular-Aufbau entsprechende Tasten zu senden. Es war mir ebenfalls entgangen, dass ich SendMessage nicht an wndMain, sondern an wndChild senden muss!

Jetzt klappt es! Danke für Eure Hinweise. Ohne die würde ich jetzt noch immer im Dunkeln des Edit-Feldes rumstochern!

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat