编程模拟C#鼠标的操作

编程模拟C#鼠标的操作主要是利用函数改变鼠标指针的位置,包括绝对位置的改变。其他可以通过该函数还可以模拟鼠标左右键点击、鼠标滚轮操作等。

C#鼠标操作并没有提供改变鼠标指针位置、模拟点击操作的函数;但是Windows API提供了。其中一个是:

 
 
 
  1. [DllImport("user32.dll")]  
  2. static extern bool SetCursorPos(int X, int Y);  

该函数可以改变鼠标指针的位置。其中X,Y是相对于屏幕左上角的绝对位置。

另一个C#鼠标函数是:

 
 
 
  1. [DllImport("user32.dll")]  
  2. static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo); 

这个函数不仅可以设置鼠标指针绝对的位置,而且可以以相对坐标来设置。另外,该函数还可以模拟鼠标左右键点击、鼠标滚轮操作等。其中的MouseEventFlag是一个基于uint类型的枚举,定义如下:

 
 
 
  1. [Flags]  
  2. enum MouseEventFlag : uint 
  3. {  
  4. Move = 0x0001,  
  5. LeftDown = 0x0002,  
  6. LeftUp = 0x0004,  
  7. RightDown = 0x0008,  
  8. RightUp = 0x0010,  
  9. MiddleDown = 0x0020,  
  10. MiddleUp = 0x0040,  
  11. XDown = 0x0080,  
  12. XUp = 0x0100,  
  13. Wheel = 0x0800,  
  14. VirtualDesk = 0x4000,  
  15. Absolute = 0x8000  

关于这两个函数的详细说明,可以查看MSDN Library或者Windows的Platform SDK文档。

【编辑推荐】

  1. 如何初始化数组详解
  2. C#数组操作的体会浅谈
  3. C#关机代码实例详解
  4. C#关机代码的实现浅析
  5. C#程序设计关闭Windows窗体浅析
THE END