Programm, dass Maus und Tastatur steuert?
-
Hallo zusammen,
ich weiß nicht, ob das das richtige Forum ist, aber ich versuchs mal;-)
Ich möchte ein Programm schreiben, dass folgendes kann:
Bewege den Mauszeiger zu Position x, y...klicke doppelt...schreibe in das Text feld an Position x,y des sich öffnenden Fensters "hallo"...klicke doppelt an Position x,y und immer so weiter. Ich weiß, dass es dafür spezielle Makro Programme gibt, allerdings möchte ich die aus bestimmten Gründen nicht benutzen. Wie kann ich das Problem am einfachsten lösen?
Ich habe schon gehört, dass es mit der WinApi gehen soll, mittels "mouse_event" und "SetCursorPos" zum Beispiel. Leider kenne ich mich mit der WinApi nicht aus und suche nach einer leichteren Lösung, falls es die geben sollte;-)
Danke euch:-)
-
Es gibt nur die Möglichkeit sich mit einem Framework auseinanderzusetzen.
Also WinApi, MFC, NET, QT und dann die entsprechende Sprache zu nutzen.WinApi -> C -> Petzolt
MFC -> C++ -> Kruglinski
NET -> C#,VBNet -> Autor selber suchen
QT -> C++ -> Doku auf der QT-HompageFalls man die zu nutzenden Sprachen und Programmparadigmen noch nicht beherrscht, diese lernen.
Bis in einem halben Jahr und viel Spaß
-
Ich habe folgenden Link gefunden:
http://www.c-plusplus.net/forum/86415
in dem folgender Quelltext steht:
#include <windows.h> // Initialisiert die Maus und gibt die Anzahl der Maustasten zurück DWORD mouseInit () { DWORD mode; GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),&mode); SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),mode|ENABLE_MOUSE_INPUT); DWORD buttons; GetNumberOfConsoleMouseButtons(&buttons); return buttons; } // Zeigt oder versteckt den Mauscursor void showCursor (bool show = true) { ShowCursor(show); } int main () { mouseInit(); showCursor(); bool running = true; do { DWORD count; INPUT_RECORD ir; ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE),&ir,1,&count); switch(ir.EventType) { case KEY_EVENT: running = false; // Beenden bei Tastendruck break; case MOUSE_EVENT: cout << "X: " << ir.Event.MouseEvent.dwMousePosition.X; cout << " Y: " << ir.Event.MouseEvent.dwMousePosition.Y; if(ir.Event.MouseEvent.dwButtonState & FROM_LEFT_1ST_BUTTON_PRESSED) cout << " | Linke Taste gedrueckt!"; if(ir.Event.MouseEvent.dwButtonState & RIGHTMOST_BUTTON_PRESSED) cout << " | Rechte Taste gedrueckt!"; break; } } while(running); return 0; }
Ich denke, dass ist schon nahe an dem, was ich suche. Ich müsste doch nur irgendwas hinter "Case MOUSE_EVENT:" ändern oder?
-
Hast Du das Beispiel mal kompiliert und zum laufen gebraucht?
Tust Du das, weißt Du was fehlt.
Guck in den Petzolt.
Ein Grundkurs WinApi ist nicht in einem Thread zumachen.