SendMessage(hWnd, Msg, wParam, lParam) - Problem
-
und zwar war meine Idee, die Maus an der Stelle mPos.x/mPos.y links klicken zu lassen. Das mit den Koordinaten ist kein Problem, mit SetCursorPos() und GetCursorPos(). Aber nun an der Stelle klicken zu lassen, ist für mich ein Rätsel:
SendMessage (0, WM_LBUTTONUP, 0, 0);es funktioniert nicht, nun habe ich mich schlau gemacht, um herrauszufinden, was ich bei hWnd einsetzen muss. Dann bin ich dazu gekommen, dass es der Fenster-Name sein muss. Man sagte mir, mit dem Toll TaskManagerEx finde ich den FensterNamen heraus, doch wenn ich da diese komischen Zahlen mit " " für hWnd einsetze, kommen Fehlermeldungen, dass es nicht konventiert werden kann.
Nun bin ich überfragt, ich möchte doch ledlichlich die Maus klicken lassen. Und das auf dem Fenster, was quasi oben liegt, also dem, welches ich sehe.
mit freundlichen Grüßen
supersass
-
ich habe jetzt sowas gefunden
HWND hwnd = FindWindow(NULL, "Eingabeaufforderung"); SetForegroundWindow(hwnd);Doch woher weiß ich, was ich bei "Eingabeaufforderung" eingeben muss?
-
Denk mal drüber nach, ob man dir so helfen kann...
-
Dort mußt du den Namen des Fensters eingeben - das von FindWindow() zurückgegebene Handle kannst du dann weiterverwenden, um z.B. dorthin Nachrichten zu schicken (SendMessage()).
-
CStoll schrieb:
Dort mußt du den Namen des Fensters eingeben
Ich denke, das wird er wissen. Sein Problem ist, woher er im Allgemeinen den Namen des Fensters herbekommen soll.
-
-
WebFritzi schrieb:
CStoll schrieb:
Dort mußt du den Namen des Fensters eingeben
Ich denke, das wird er wissen. Sein Problem ist, woher er im Allgemeinen den Namen des Fensters herbekommen soll.
genau das ist mein Problem

-
ich glaube, es ist einfach es so zu machen
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);aber warum empfiehlt man mir dann mit SendMessage() ?
So geht es doch viel einfacher, oder gibt's da ein Haken bei?
-
Wie kann ich nun ein Links-Mausklick abfangne, also ich möchte, dass wenn ich klicke, blablabla passiert?
if (mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) == true) { blablabla }da bekomm ich folgende Fehlermeldung:
error: void value not ignored as it ough to be
-
gut das Problem habe ich so gelöst:
while(GetAsynsKeyState(VK_LBUTTON) == GetAsynsKeyState(VK_LBUTTON)) { ...}nicht die schöncste Art, aber es funktioniert soweit.
Doch nun möchte ich die Mouse-Koordinbanten des ganzen Bildschirms abfangne, und nich nur des FEnsters, mein Code bisher
POINT mPos[5]; for (int i=0, i < 5; i++) { GetCursorPos(&mPos[i]); } // später SetCursorPos(mPos[i].x, mPos[i].y);doch da bekomm ich nur die Koordinaten des Fensters, und nich des "ganzen" Bildschirms.
MAche ich das mit "GetMessage()" nur dann habe ich wieder das Fenster hWnd Problem?
oderk ann ich einfach mein Programm Bildschirmgrößen Groß machen?mit freundlichen Grüßen

-
Eigentlich sollte man hierauf gar nicht antworten, aber ich tu's trotzdem:
Merkst du eigentlich, dass dich kein Mensch hier versteht?
-
warum? was ich möchte ist letztendlich ganz einfach, von fünf linken Mausklicks sollen die Koordinaten gepsiehcert werden, und später sollen an den 5 Stellen die Maus wieder gedrückt werden (per Programm), das ganze aber auf den ganzen Bildschirm bezogen.
-
Tja, das hättest du mal als ersten Beitrag geschrieben... Schau mal in der FAQ nach dem Stichwort "Mouse Hook".
