C# Mausklick mithilfe von SendMessage simulieren
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
abschicken
anwendung
bestimmen
byte
code
doppelklick
feld
folgender funktion
koordinate
methode
position
problem
punkt
richtige format
super danke
versuchen
wort
-
Hallo,
ich versuche nun schon seit einiger zeit mithilfe der methode Sendmessage einen Mausklick in einer andern anwendung zu simulieren.
ich habe es schon geschafft das ich zwar einen klick simuliere per
[DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, IntPtr lParam);
und
SendMessage(hwnd, 0x0203, 0, IntPtr.Zero);
kann aber dabei leider nicht die position bestimmen
ich weis das die position des klicks im lParam bestimmt wird finde aber nicht das richtige format für einen Punkt.
habe ich einfach was übersehen oder wie kann man das problem lösen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo a-o-w,
die x und y Koordinate sind zusammen in einen Int32 Feld koodiert. Dabei ist das höherwertige Wort (Wort = 2 Byte) die y-Koordinate und das niederwertige Wort die x-Koordinate.
Mit folgender Funktion kann man die Koordinaten zusammenpacken:
Abschicken kannst Du es dann mit:private Int32 packCoords(Int16 x, Int16 y) { return (y<<16)|x; }
Im übrigen ist 0x0203 ein Doppelklick.Int32 coords = packCoords(200, 300); SendMessage(hwnd, 0x0203, 0, new IntPtr(coords));
-
super danke jetzt klappt es :-)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage