C# 鼠標操作總結


本文只涉及簡單用法,園子中有大神詳細記錄各參數示意。

引用user32.dll(文件在系統C:\Windows\System32中),可模擬鼠標 點擊 事件。

1         [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
2         private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
3         [DllImport("user32.dll")]
4         public static extern bool GetCursorPos(out Point pt);//獲取鼠標焦點
5         [DllImport("user32.dll")]
6         public static extern void SetCursorPos(int x, int y);//設置鼠標焦點

注意:每個函數引用都需要DLLImport一次

        const int MOUSEEVENTF_MOVE = 0x0001;      //移動鼠標 
        const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模擬鼠標左鍵按下 
        const int MOUSEEVENTF_LEFTUP = 0x0004; //模擬鼠標左鍵抬起 
        const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模擬鼠標右鍵按下 
        const int MOUSEEVENTF_RIGHTUP = 0x0010; //模擬鼠標右鍵抬起 
        const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模擬鼠標中鍵按下 
        const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模擬鼠標中鍵抬起 
        const int MOUSEEVENTF_ABSOLUTE = 0x8000; //標示是否采用絕對坐標

mouse_event()使用實例:

  mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);//Cursor.Position.X, Cursor.Position.Y指示鼠標所在絕對位置
                mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 800, 450, 0, 0);//(800*450)鼠標左鍵點擊屏幕中央

絕對位置表示相對於屏幕左上角的坐標,即左上角坐標為(0,0)。

獲取與設置焦點:

            Point p;
            GetCursorPos(out p);

           SetCursorPos(400, 450);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM