Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

X-Spy, FindAWindow und GetDlgItem Fragen

  Alt 5. Jul 2006, 10:47
Moin Delphi Praxis!

Auch ich versuche mich an einem AutoLogin und bin schon relativ weit. Ich habe mir das tool x-spy runtergeladen um einige Informationen über ein Fenster zu verschaffen. Dazu folgende Fragen:

(1)
Sind die Integer Angaben des X-Spy betreffend des Handles u. der ControlID von Elemementen immer die selben oder ist das eine Zufallszahl, welche nach einem Neustart des Fenster neu generiert wird?

(2)
Ich möchte einen bestimmten Button drücken, folgende Informationen habe ich über das Element:
Delphi-Quellcode:
//Fenster finden anhand des Fensternamens
clientHandle := FindWindow('#32770', Pchar(Edit4.Text));
//den Button des gefundenen Fensters aufindig machen
clientHandle := GetDlgItem(clientHandle, 1000);

//Wenn der Start Button gefunden wurde auch drücken
     if IsWindowVisible(clientHandle) = true then
      begin
       PostMessage(clientHandle, wm_KeyDown, VK_RETURN,0);
      end;
Das klappt leider nicht ganz. Ist das so überhaupt möglich? Oder wäre es sinnvoller die position des Buttons zu ermitteln und üer

Mouse.CursorPos := Point(xxx, yyy); zu agieren?

(3)
Kann man die Position des Buttons innerhalb des gefundenen Fenster irgendwie errechnen? Ich weiss daß das Loginfenster 700*419 Pixel gross ist. Muss ich nun anhand der aktuellen Bildschirmauflösung einen Punkt des Fensters errechnen und dann noch bisschen "tüfteln" bis der Cursor am Button sitzt? Oder gitbs da was eleganteres?

(4)
ich nutze: ExecuteFile(Edit3.Text, '', '', True, DoOnExecuteWait); um die Fremdanwendung aufzurufen. Leider kann ich meine Applikation erst beenden wenn die Fremdapplikation geschlossen wurde. Äh ich weiss klingt blöd, aber ich würde gern meine Anwendung beenden können wann ich will ^^


Hmmm eventuell weiss einer von euch bissel Rat.


Guten Hunger!


Jaimy
  Mit Zitat antworten Zitat