Qt使用Windows Api模擬鼠標單擊雙擊滾輪事件


        打開msdn後搜索mouse_event,會發現它的說明

        函數原型:

VOID WINAPI mouse_event(
  _In_ DWORD     dwFlags,
  _In_ DWORD     dx,
  _In_ DWORD     dy,
  _In_ DWORD     dwData,
  _In_ ULONG_PTR dwExtraInfo
);
        值得說明的參數是dwFlages,下面列出常用參數,具體參數請參考csdn

        MOUSEEVENTF_ABSOLUTE 是否使用絕對座標

      MOUSEEVENTF_LEFTDOWN 鼠標左鍵按下

      MOUSEEVENTF_LEFTUP 鼠標左鍵鬆開

      MOUSEEVENTF_MIDDLEDOWN 鼠標中鍵按下

      MOUSEEVENTF_MIDDLEUP 鼠標中鍵鬆開

        MOUSEEVENTF_MOVE 鼠標移動

      MOUSEEVENTF_RIGHTDOWN 鼠標右鍵按下

      MOUSEEVENTF_RIGHTUP 鼠標右鍵按下

        MOUSEEVENTF_WHEEL 鼠標滑輪

      首先包含頭文件

#ifdef Q_OS_WIN32
#include "windows.h"
#endif

      使用鼠標模擬單擊事件

    int x = 50;
    int y = 50;
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,x, y, 0, 0);
       

        雙擊事件

    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,x, y, 0, 0);
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,x, y, 0, 0);
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,x, y, 0, 0);
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,x, y, 0, 0);

        滾輪事件,delta爲滾輪的值

    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_WHEEL,p.x(), p.y(), delta, 0);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章