Mausklick simulieren

Alles rund um die Programmierung mit Qt
etjazzman
Beiträge: 10
Registriert: 18. April 2011 17:55

Beitrag von etjazzman »

jerry42 hat geschrieben: edit: aber vielleicht hab ich es auch missverstanden, und du willst durch den Mausklick gar kein spezielles Widget ansprechen, sondern an der ganz spezifischen Position einen Rechtsklick ausführen?! In dem Fall bringt Dir die Methode vermutlich nichts.
richtig :)
pfid hat geschrieben: Sollte das nicht der Treiber des Geräts erledigen?
Das soll irgendwann ein Treiber werden. :wink:
Der Treiber soll, so weit es geht, betriebssystemunabhängig werden. (klar 100%ig wird das nicht gehen)
Deswegen meine Frage ob ich mit Qt einen Mausklick erstellen kann.
Was macht QMouseEvent genau? "Wartet" es z.B. auf einen Mausklick und löst dann was aus oder kann es einen Mausklick "erstellen"?
forgoden
Beiträge: 120
Registriert: 10. Februar 2008 17:52

Beitrag von forgoden »

etjazzman hat geschrieben:
Hat jemand noch Vorschläge wie man einen Mausklick simulieren?
mit qt nicht

Code: Alles auswählen

#include "windows.h"
#include <winable.h>

void RightClick ( )
{  
  INPUT    Input={0};
  // right down 
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_RIGHTDOWN;
  ::SendInput(1,&Input,sizeof(INPUT));

  // right up
  ::ZeroMemory(&Input,sizeof(INPUT));
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_RIGHTUP;
  ::SendInput(1,&Input,sizeof(INPUT));
}
Win7, VisualStudio 2010, Qt 4.7
forgoden
Beiträge: 120
Registriert: 10. Februar 2008 17:52

Beitrag von forgoden »

besser:
mit #include <windows.h> nur

Code: Alles auswählen

	QApplication::desktop()->cursor().setPos(666,666);
	mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 1, 1, 0, 0);
muss du nur noch rightclick skripte für apple und linux finden
http://www.linuxquestions.org/questions ... ck-594576/


http://doc.trolltech.com/4.7/qtglobal.html#Q_WS_X11 damit erreichst du plattformunabhängigkeit
Win7, VisualStudio 2010, Qt 4.7
etjazzman
Beiträge: 10
Registriert: 18. April 2011 17:55

Beitrag von etjazzman »

Vielen Dank für die Hilfe!
Werde mich mal damit befassen.
Schade, dass Qt da keine Klasse hat.
Wird dann mal Zeit, dass jemand es programmiert... :wink: :wink: :wink:
Antworten