Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi X-Spy, FindAWindow und GetDlgItem Fragen (https://www.delphipraxis.net/72683-x-spy-findawindow-und-getdlgitem-fragen.html)

Ajin 5. Jul 2006 10:47


X-Spy, FindAWindow und GetDlgItem Fragen
 
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

Delphi-Quellcode:
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:
Delphi-Quellcode:
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

Ajin 6. Jul 2006 05:33

Re: X-Spy, FindAWindow und GetDlgItem Fragen
 
weiss niemand rat?

Zacherl 6. Jul 2006 06:15

Re: X-Spy, FindAWindow und GetDlgItem Fragen
 
Hi,

(1) Das Handle ändert sich in jeder Windows Session.
(4) Nutze doch einfach ShellExecute (Unit ShellAPI)

Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz