Seite 1 von 1
Mausklick in ein Fenster im Hintergrund
Verfasst: 04.12.2014 23:33
von bindya
Hi,
ich versuche eine Mausklick in einem Hintergrund-Window zu realisieren ohne dabei die Mauspostion zu verändern.
D.h. der User soll normal weiter arbeiten können.
Hab schon ne Zeitlang gesucht und auch schon ansätze gefunden.
Leider fehlt mir der letzte Step
Ich denke das sollte per WinApi mit SendMessage_ funktionieren.
Einer im stackoverflow-Forum hat das scheinbar auch schon geschafft.
Quelle:
http://stackoverflow.com/questions/2818 ... g-messages
Leider habe ich keinen Plan wie ich die X/Y Position in PB setzen kann.
Die WinApi-Library von RSBasic habe ich auch schon durchgestöbert leider nichts passendes gefunden.
Für nen Tip wäre ich dankbar.
LG,
Bindy
Re: Mausklick in ein Fenster im Hintergrund
Verfasst: 04.12.2014 23:37
von RSBasic
Möchtest du automatisiert auf einen bestimmten Button klicken?
Suchst du vielleicht sowas?:
http://www.rsbasic.de/aktualisierung/wi ... ulieren.pb
Re: Mausklick in ein Fenster im Hintergrund
Verfasst: 05.12.2014 01:04
von bindya
Hi,
danke für deine schnelle Antwort und vor allem für deine coole WinApi Library

Hat mir schon einige Male geholfen
Zu deiner Antwort:
Nein leider nicht. Ich habe im Hintergrund eine offenes game im Window-Mode. Dank WinApi kenne ich die Pos & Size des Windows.
In diesem Window möchte ich einen Button anklicken (Pos ist immer fix & berechenbar). Sind aber leider keine Windows-Buttons u. somit bekomme ich auch kein handle.
Daher muss ich nen Click auf ein X/Y-Position ausführen.
Wenn ich den Codesnippet von deiner Seite hernehme, funktioniert das wunderbar.
http://www.rsbasic.de/aktualisierung/wi ... ulieren.pb
Allerdings bewege ich hiermit, wie du weißt "tatsächlich" die Maus und das würde ich gerne (wenn möglich) umgehen.
LG
Re: Mausklick in ein Fenster im Hintergrund
Verfasst: 05.12.2014 02:22
von NicTheQuick
Läuft dieses Game in einem DirectX-Screen oder ist das womöglich etwas vergleichbares zu dem 'CanvasGadget()' in PB? Falls es letzteres ist, sollte man das Handle dieses Gadgets bekommen können und diesem einen Mausklick vorgaukeln können. Falls es aber ein DirectX- oder OpenGL-Screen sein sollte, dann ist wohl etwas mehr Spezialwissen erforderlich. Und sehr wahrscheinlich werden diese Frameworks es auch nicht ohne Komplikationen zulassen, dass eine fremde Anwendung versucht in ihnen herum zu klicken.
Re: Mausklick in ein Fenster im Hintergrund
Verfasst: 05.12.2014 10:51
von bindya
Jepp DX-Window.
Allerdings folgendes funktioniert im Hintergrund.
Code: Alles auswählen
SendMessage_(lngWindowHandle, #WM_KEYDOWN, Asc(strKey), 0)
Delay(Random(100,50))
SendMessage_(lngWindowHandle, #WM_CHAR, Asc(strKey), 0)
Delay(Random(100,50))
SendMessage_(lngWindowHandle, #WM_KEYUP, Asc(strKey), 0)
Daher gehe ich aus, das es auch mit der Maus funktionieren sollte.
Re: Mausklick in ein Fenster im Hintergrund
Verfasst: 06.12.2014 11:12
von bindya
Niemand ne Idee?
