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, 400, 0, 0, 0);
// 点击鼠标右键
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410, 0, 0, 0);
Console.ReadLine();
}
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, 400, 0, 0, 0);
// 点击鼠标右键
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410, 0, 0, 0);
Console.ReadLine();
}
调用的时候可以对系统API进行二次封装。
Public Static Void MouseRightClick()
{
//点击鼠标右键
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410, 0, 0, 0);
}
适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。