国产探花免费观看_亚洲丰满少妇自慰呻吟_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函數來查找任務欄及開始菜單)
點這里下載

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁蒗| 合作市| 伽师县| 博乐市| 沾益县| 龙门县| 尉犁县| 东乡族自治县| 西城区| 南部县| 抚州市| 克什克腾旗| 贵定县| 东宁县| 临西县| 夏河县| 安顺市| 尚义县| 禄劝| 会理县| 沂水县| 淅川县| 东兰县| 黔西县| 特克斯县| 交城县| 常宁市| 西藏| 周至县| 汝阳县| 峡江县| 大同市| 丘北县| 苏尼特右旗| 达尔| 昌图县| 陆良县| 新安县| 新乡市| 碌曲县| 清河县|