Mouseanwendung auserhalb der anwenung
-
Die Mous kann man sinnvoll nur mit
SendInputsimulieren.
-
Wenn's dich glücklich macht:
#include <iostream> #include <string> #include <sstream> #include <windows.h> using namespace std; int main( ) { POINT pt; pt.x = 100; pt.y = 100; HWND window = WindowFromPoint( pt ); if( !window ) { stringstream ss; ss << "There is no window at ( " << pt.x << " / " << pt.y << " )!"; MessageBox( 0, ss.str( ).c_str( ), "Error:", MB_OK ); return 0; } SendMessage( window, WM_LBUTTONDOWN, MK_LBUTTON, ( ( (unsigned short) pt.y ) << 16 ) + ( (unsigned short ) pt.x ) ); SendMessage( window, WM_LBUTTONDOWN, 0, ( ( (unsigned short) pt.y ) << 16 ) + ( (unsigned short ) pt.x ) ); }Zum testen am besten Paint maximiert öffnen, einen dicken Pinsel wählen, das compilierte programm unter Start->Ausführen aufrufen und zusehen.
Greetz, Swordfish
-
Jochen hat (wie immer recht) SendInput( ) kann der User nicht durch "ungewünschte" Aktionen stören.
Greetz, Swordfish
-
Löly, ....
Also das:( ( (unsigned short) pt.y ) << 16 ) + ( (unsigned short ) pt.x )entspricht dem:
MAKELPARAM(pt.y,pt.x);Hmm oder sollte es zum mindestens...Swordfish ...hast du den Code getestet...läuft er ?
Nicht das ich was gg. deine Schreibweise hab...ganz im Ggtl. ...ich wollte nur den Bezug dazu:
CodeFinder schrieb:
PS: MAKELPARAM ist ein Makro, welches den LowWord bzw. HighWord des LPARAMs (long) beschreibt...siehe C++, Bitmanipulation kanmnst dir ja mal die Def. angucken
herstellen.

-
Sicher läuft mein Code!

Ich hab' nur eine natürliche Abneigung gegen Makros (besonders gegen die der WinAPI).Greetz, Swordfish
-
Ob Makro hin oder her. Endlich... es läuft, muss mein Programm nur noch gescheit justieren, wegen den Koordinaten.
Aber trotzem Danke für die Mühe, ich denk' 'en Lob hört man immer gern.

-
Schau dir trotzdem
UINT SendInput( UINT nInputs, // count of input events LPINPUT pInputs, // array of input events int cbSize // size of structure );(Jochen's Vorschlag) an!
Greetz, Swordfish