我正在使用QT在C语言中编写远程桌面克隆.到目前为止,我能够将鼠标光标移动得很好. QT有一个很好的setPos函数.但是,我有点迷失用于模拟鼠标按钮点击的API /库.
我知道的一种方法是使用窗口的HWND将WM_(事件)发送到窗口.但是,我希望有一种更为突出的方法来完全控制鼠标.有没有其他方法告诉操作系统单击了鼠标左键?
谢谢.
这是在C#中,但可能会帮助您了解一下:
- [DllImport("user32.dll",CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
- public static extern void mouse_event(long dwFlags,long dx,long dy,long cButtons,long dwExtraInfo);
- private const int MOUSEEVENTF_LEFTDOWN = 0x02;
- private const int MOUSEEVENTF_LEFTUP = 0x04;
- private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
- private const int MOUSEEVENTF_RIGHTUP = 0x10;
- public void DoMouseClick()
- {
- int X = Cursor.Position.X;
- int Y = Cursor.Position.Y;
- mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,X,Y,0);
- }
可能有用的资源:
http://msdn.microsoft.com/en-us/library/ms646260%28VS.85%29.aspx