国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C#程序模擬鼠標操作 [Simulate Mouse Movement and Click Prog

2024-07-21 02:29:21
字體:
來源:轉載
供稿:網友
中國最大的web開發資源網站及技術社區,

有時,我們需在我們的程序中模擬鼠標的移動、點擊等動作。——比如,一個再現用戶操作的宏,或者一個演示操作方法的demo程序。那么,我們在.net中如何實現呢?

.net并沒有提供改變鼠標指針位置、模擬點擊操作的函數;但是windows api提供了。其中一個是:
        [dllimport("user32.dll")]
        static extern bool setcursorpos(int x, int y); 
該函數可以改變鼠標指針的位置。其中x,y是相對于屏幕左上角的絕對位置。
另一個函數是:

        [dllimport("user32.dll")]
        static extern void mouse_event(mouseeventflag flags, int dx, int dy, uint data, uintptr extrainfo);
這個函數不僅可以設置鼠標指針絕對的位置,而且可以以相對坐標來設置。另外,該函數還可以模擬鼠標左右鍵點擊、鼠標滾輪操作等。其中的mouseeventflag是一個基于uint類型的枚舉,定義如下:

        [flags]
        enum mouseeventflag : uint
        {
            move        = 0x0001,
            leftdown    = 0x0002,
            leftup      = 0x0004,
            rightdown   = 0x0008,
            rightup     = 0x0010,
            middledown  = 0x0020,
            middleup    = 0x0040,
            xdown       = 0x0080,
            xup         = 0x0100,
            wheel       = 0x0800,
            virtualdesk = 0x4000,
            absolute    = 0x8000
        }
關于這兩個函數的詳細說明,可以查看msdn library或者windows的platform sdk文檔。
下面的演示程序(完整版源代碼,vs.net 2005/c#)演示了使用上面的函數,控制鼠標移動到任務欄并點擊“開始”按鈕的方法。
(該程序使用了findwindowex等api函數來查找任務欄及開始菜單)
點這里下載

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉寿县| 鄂托克前旗| 宾川县| 乌什县| 中阳县| 林周县| 彰化县| 琼中| 彭山县| 鄂托克旗| 建宁县| 霍山县| 元氏县| 靖边县| 唐河县| 中阳县| 遂溪县| 双辽市| 儋州市| 青铜峡市| 孟州市| 苗栗县| 天峻县| 霍城县| 安泽县| 滦平县| 崇礼县| 乐都县| 宁乡县| 屏南县| 新绛县| 水城县| 兴隆县| 黄山市| 应城市| 阿拉尔市| 上思县| 济源市| 罗源县| 清水河县| 大厂|