![]() |
etwas in nem fremden Fenster anklicken
Hallo,
kann mir evtl jemand helfen ? Ich möchte von meinem Programm aus ein fremdes Element (z.B. Button oder Kontrolkästchen) in einem anderen Programm anklicken. Kann mir da jemand evtl mit einem code snippet helfen ? Ich hab schonmal gesucht und den Code von Lucky gefunden, bin mir aber nicht sicher wie ich das auf meine Sache anzuwenden habe, da dies ja für messageboxen da ist. An Delphi hab ich nur: Delphi für Win32 (2007) Ich bedanke mich für jede Hilfe. mfg tabbi |
Re: etwas in nem fremden Fenster anklicken
na klar, du musst nur das handle das Buttons rausfinden und ihm eine botschaft schicken... dazu findest du hier im forum genügend...
such mal nach ![]() ![]() edit: schau dir mal ![]() |
Re: etwas in nem fremden Fenster anklicken
Hi,
ich hab glaub ich was für dich...
Delphi-Quellcode:
viel spaß damit!
var
hBtnWnd: HWND; begin hBtnWnd :=FindWindow('TForm1'{klassenname},'Form1'{Fenster caption}); //in hBtnWnd wird hier das Handle des fensters auf dem der button ist gespeichert... hBtnWnd :=FindWindowEx(hBtnWnd, 0, 'TButton'{Klassenname}, 'Button1'{Caption der klasse(TButton)}); //in hBtnWnd wird hier das Handle des buttons gespeichert... if hBtnWnd <> 0 then // hier wird überprüft ob das handle nicht 0 ist... begin SendMessage(hBtnWnd, BM_CLICK, 0, 0); // die message für einen buttonklick wird gesendet... end; end; P.S. ich hoffe die codekommentare sind zuverstehn da ich normalerweise meinen code nicht kommentiere MfG Carlo |
Re: etwas in nem fremden Fenster anklicken
hi, danke.
Ich bin jetzt erstmal dabei mittels WinSPY das Handle etc. zu finden, da gibts nur ein Problem. In dem Programm, in dem ich etwas anklicken will ist das wie folgt gelöst: Das programm hat links sone Outlook Leiste, wo dann wie bei Outlook untereinander sone art Textlinks sind. Jedoch finde ich nur das Handle von der OutlookLeiste, nicht aber von dem einzelnen Textlink. Wie kann ich das lösen ? mfg tabbi |
Re: etwas in nem fremden Fenster anklicken
das ist eine gute frage... ich GLAUBE selbst wenn du das handle hast würden die nicht auf SendMessage reagieren!
du könntest aber die position des Textlinks herausfinden und dann an der stelle einen mausklick simulieren. MfG Carlo |
Re: etwas in nem fremden Fenster anklicken
hi,
ok, das wäre dann wohl möglich. Am besten verschiebe ich das Fenster aber vorher nach top,left 0,0 da sich ja sonst die koordinaten ändern oder ? eine andere Frage wäre noch. Wenn ich eine ComboBox habe, wie kann ich da einen Eintrag wechseln ? |
Re: etwas in nem fremden Fenster anklicken
falls du eine combobox aus einem anderen programm meinst würde ich sagen selecten(anklicken die combobox) und dann mit pfeil tasten nach oben/unten geht vileicht aber auch anders musst mal die SuFu benutzen...
MfG Carlo |
Re: etwas in nem fremden Fenster anklicken
Hallo,
nur zur Info: Nur von TWinControl abgeleitete Komponenten besitzen ein Handle! Dazu gehören bspw. TEdit, TPanel, TButton, TCheckBox und auch TJvOutlookBar (ein OutlookBar-Derivat der Jedis). Dazu gehören aber nicht TLabel, TImage und auch nicht TJvOutlookBarPage, welches die einzelnen Seiten einer TJvOutlookBar darstellt. |
Re: etwas in nem fremden Fenster anklicken
ok danke.
ich habs jetzt halt immer mit mouse_event(...) gelöst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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