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/)
-   -   maus steuern auf nicht sichtbarem desktop (https://www.delphipraxis.net/153381-maus-steuern-auf-nicht-sichtbarem-desktop.html)

supermuckl 30. Jul 2010 19:33

maus steuern auf nicht sichtbarem desktop
 
Hi!
ich zeige ein nonvcl Fenster (das von einem eigenen thread erstellt wird) auf einem eigens dafür erstellten desktop an (createdesktop)
dies funktioniert auch soweit. ich kann auch screenshots vom fenster erstellen mit der "printwindows" funktion.

jetzt möchte ich die maus auf dem unsichtbaren desktop bewegen und clicken lassen - also fernsteuern - und damit das fenster bedienen.

wie krieg ich das hin? mit mouse.cursorpos und setcursorpos() und mouse_event() und mit WM_mousemove messages bin ich noch nicht weit gekommen :(
das einzige was funktioniert sind mousedown messages

himitsu 30. Jul 2010 19:50

AW: maus steuern auf nicht sichtbarem desktop
 
Das ist doch ein selbsterstellstes Fenster ... wieso steuerst du dann das zugehörige Programm nicht direkt?

supermuckl 30. Jul 2010 20:18

AW: maus steuern auf nicht sichtbarem desktop
 
weil das halt nich funktioniert.

ich lade eine dll die sich an das fensterhandle als child dranhängt
diese dll's sind VST-plugins

die haben dann eine oberfläche die per maus bedient werden will
wenn ich nun mousemessages an das dll - handle schicke gehen nur mouse down messages
mouse up gehen nur wenn ich sie direkt danach sende - also klicks
mouse move wird irgendwie ignoriert - es gibt keine hover effekte, die das plugin normalerweise bietet (ergo ist die mouse nicht drüber?!)
und fenster, die das plugin aufgrund von klicks öffnet (auswahlfenster für irgendwas oder popups) sind nur teilweise via mouseevents handlebar.. manche reagieren garnicht :(

ich würde denjenigen, der mir mein problem so löst, das ich vst-plugins in ihrer eigenen desktop umgebung per mouse bedienen kann, reich beschenken ;)

himitsu 30. Jul 2010 20:30

AW: maus steuern auf nicht sichtbarem desktop
 
MouseMoveMessages verschieben auch nicht die Maus ... diese werden eigentlich durch Mausschiebungen ausgelöst.

Vielleicht sind diese Plugins plöde programmiert und nehmen nicht die Mauspositionen aus den Messages, sondern nutzen z.B. MSDN-Library durchsuchenGetCursorPos, um die aktuelle Mausposition zu finden.

Die Maus wird eigentlich via MSDN-Library durchsuchenSetCursorPos verschoben, aber k.A. wie/ob das mit versteckten Desktops geht, da es in einer Session ja eigentlich nur eine Maus gibt und diese liegt auf dem sichtbaren Desktop.

supermuckl 30. Jul 2010 20:33

AW: maus steuern auf nicht sichtbarem desktop
 
wenn das so ist, das ein nicht sichtbarer desktop keine "maus" hat
könnte es dann sein, das ich das problem mit einer windowstation hinkrieg? *kein plan*

im grunde will ich eigentlich nur mehrere plugins im hintergrund einer applikation irgendwie offen haben (aber nicht sichtbar) und diese über netzwerk bedienen


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 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