WM_BUTTONUP reagiert falsch..
-
Servus,
ich habe ein Programm realisiert, mit dem man andere Programme ziemlich gut fernsteuern kann. Leider bin ich jetzt auf das Problem gestossen, dass man damit keine (oder nur schlecht) Java-Programme steuern kann.
Zur Zeit hab ich das so gelöst, dass ich mir bei der Aufzeichnung die relativen Koordinaten der einzelnen Objekte merke, und die bei der Wiedergabe dann bei SetCursorPos, WM_LBUTTONDOWN und WM_LBUTTONUP einsetze.
Klappt soweit auch ganz gut.
Nur: bei einem Programm muss eine Art Button auf einem Panel angeklickt werden, woraufhin ein OpenDialog erscheint. Funzt auch. Nur leider bleibt das Programm dann bei der Ausführung bei WM_LBUTTONUP hängen.POINT mPoint; mPoint.x=Item.xCo; mPoint.y=Item.yCo; ::ClientToScreen(ObjectHandle,&mPoint); SetCursorPos(mPoint.x,mPoint.y); SendMessage(ObjectHandle,WM_SETFOCUS,NULL,NULL); SendMessage(ObjectHandle,WM_LBUTTONDOWN,(WPARAM)MK_LBUTTON,MAKELPARAM(Item.xCo,Item.yCo)); SendMessage(ObjectHandle,WM_LBUTTONUP,(WPARAM)NULL,MAKELPARAM(Item.xCo,Item.yCo));Wenn ich andere Objekte, als diesen Button verwende klappt alles.
Frage: Weiss jemand warum das Programm da hängen bleibt?
Frage2: hat jemand ne idee, wie man gescheit über die WinAPI auf Java-Objekte zugreifen kann?Gruss, Sven
-
HA!
Erste Frage selbst beantwortet.
Wenn ich für WM_LBUTTONDOWN und WM_KBUTTONUP PostMessage anstelle von SendMessage verwende, dann klappts!
-
Frage2: hat jemand ne idee, wie man gescheit über die WinAPI auf Java-Objekte zugreifen kann?
definiere mal java-objekte
-
ich hab dazu mal einen neuen Thread gestartet:
http://www.c-plusplus.net/forum/viewtopic.php?t=101579