![]() |
Anderes Programm komplett steuern
Wie kann ich ein anderes Programm mit Delphi komplett steuern, also z.B. Edit ausfüllen, Button klicken, Checkbox "checken" usw. ?
Ich habe zwar schon was gefunden, dass das über SendMessage gehen soll, aber irgendwie bekomme ich das nicht hin, da wird anstatt des Editfelds die Caption ausgefüllt :( Mit SendDlgItemMessage habe ich es auch schon versucht, aber da hat irgendwie gar nix gefunzt :( Vielleicht hat das schonmal jemand gemacht und kann mir helfen. :love: Danke UC |
Re: Anderes Programm komplett steuern
Zitat:
|
Re: Anderes Programm komplett steuern
Wie kann ich nun die Handles auf die einzelnen Controls bekommen? Mit Findwindow wird es ja nicht komplett funktionieren.
:love: Danke UC |
Re: Anderes Programm komplett steuern
|
Re: Anderes Programm komplett steuern
Also ich habe das jetzt folgendermaßen hinbekommen:
Delphi-Quellcode:
Funktioniert auch super, doch leider nur, wenn es ein Button und ein Edit gibt, bei mehreren passiert überhaupt nichts :(
procedure TForm1.Button1Click(Sender: TObject);
var hMemo, hHandleDesFensters : HWND; s: string; begin hHandleDesFensters := FindWindow(nil, 'ReCrackS.de'); hMemo:= FindWindowEx(hHandleDesFensters, 0, 'Edit', nil); s := 'Test'; SendMessage(hMemo, WM_SETTEXT, 0, Integer(@s[1])); hMemo:= FindWindowEx(hHandleDesFensters, 0, 'Button', nil); SendMessage(hMemo, BM_CLICK, 0, Integer(@s[1])); end; Mit dem Button habe ich es hinbekommen, da suche ich nach der Buttoncaption, doch mit dem Edit klappt es nicht. Wie kann ich die suche nach einem Handle noch spezialisieren? In dem einem Edit steht etwas drin, also könnte man danach suchen (wie weiß ich nicht), aber die andere ist komplett leer. Könnte mir vielleicht nochmal jemand helfen und mir zeigen wie ich es machen könnte? :love: Danke UC |
Re: Anderes Programm komplett steuern
Moin UC,
Du hast doch schon WM_SETTEXT gefunden. Es gibt auch WM_GETTEXT ;-) Ausserdem haben die Controls i.d.R. auch immer eine ID mit der sie eindeutig identifizierbar sind. |
Re: Anderes Programm komplett steuern
Mhhhhh, aber irgendwie hilft mir das nicht sonderlich weiter, habe es auch schon versucht.
Mit EDA hat das eingeben keine Probleme gemacht, aber da habe ich ja schon vorher angeben wo was eingetragen werden soll. |
Re: Anderes Programm komplett steuern
Vielleicht hilft dir auch mein
![]() |
Re: Anderes Programm komplett steuern
Zitat:
|
Re: Anderes Programm komplett steuern
Moin Luckie,
stimmt. Aber zur Not tut's ja auch die Position eines Controls relativ zum Formular. Je nachdem wie das Formular aufgebaut ist, könnte man damit eine Zuordnung treffen. |
Re: Anderes Programm komplett steuern
Also ich habe jetzt mal mit XSpy geguckt aber das hat mir nicht wirklich viel geholfen und eine genau ID konnte ich mit EDA oder so auch nicht finden, dass mir weiterhilft :(
Ich konnte jedoch die Position des Edits auf dem Formular herausfinden, hilft mir das irgendwie weiter? Kennt vielleicht noch jemand eine andere Methode das Edit zufinden, indem man alle Edits auf dem Formular durchgeht oder so? :love: Danke UC |
Re: Anderes Programm komplett steuern
Was ist das für ein Proggramm? Kannst du es hier hochladen, damit man sich das direkt mal ankucken kann? Allerdings sollte das Prorgamm ein Setup benötigen, bin ich aus dem Rennen ;)
|
Re: Anderes Programm komplett steuern
Ich arbeite im Moment an einem Programm, das auch ein anderes fernsteuert. Ich kann dir im Lauf des Tages einige Quelltextbeispiele schicken, wenn ich mehr Zeit habe. Beschreib mal bitte, was du genau machen möchtest.
|
Re: Anderes Programm komplett steuern
Also es ist das Programm PESpin, das ist ein Packer wie UPX, nur etwas besser.
Hier zu bekommen: ![]() Ich möchte das Programm steuern, dass ich alles Vollautomatisch machen kann und nicht immer alles manuell konfigurieren muss, dass dauert bei vielen Dateien ziemlich lange. @Cuchulainn Wäre nett, wenn du mir ein paar Beispiele schicken würdest bzw. hier posten könntest :love: Danke UC |
Re: Anderes Programm komplett steuern
Also ich hab mir das Prog mal kurz angeguckt und soweit ich das gesehn hab haben alle Controls eindeutige IDs oder eine eindeutige Kombination aus Classname und Caption...
Lad dir mal die neue Version meines ![]() |
Re: Anderes Programm komplett steuern
Also ich habe das jetzt mal probiert mit X-Spy, ich habe auch die IDs usw. bekommen, doch irgendwie bekomme ich das mit dem setzten des Text nicht hin, obwohl es doch so hier gehen müsste:
Delphi-Quellcode:
Was mache ich denn falsch? Vielleicht kann mir nochmal jemand helfen.
var
wnd: HWND; s: string; begin wnd := FindWindow('#32770', 'PESpin v0.41'); wnd := FindWindowEx(wnd, 0, 'Edit', 'have a little snack?'); //wnd := GetDlgItem(wnd, 11); if wnd <> 0 then begin s := 'Test'; SendMessage(wnd, WM_SETTEXT, 0, Integer(@s[1])); end; end; :love: Danke UC |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz