c# 模拟window 操作鼠标|winapi

 

View Code
        [DllImport( " user32.dll ", EntryPoint =  " mouse_event ", SetLastError =  true)]

         private  static  extern  int mouse_event( int dwFlags,  int dx,  int dy,  int cButtons,  int dwExtraInfo);

       

         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// 标示是否采用绝对坐标

         static  void Main( string[] args)
        {
            //   移动鼠标
           mouse_event(MOUSEEVENTF_MOVE,  400000);

             // 点击鼠标右键
            mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP,  410000);

            Console.ReadLine();
        }

      

 

调用的时候可以对系统API进行二次封装。 

Public Static Void MouseRightClick()

{

    //点击鼠标右键
   mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410, 0, 0, 0);

}

适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。

你可能感兴趣的:(window)