【发布时间】:2012-07-13 19:38:16
【问题描述】:
我正在使用来自How to simulate Mouse Click in C#? 的以下代码,但我发现它不起作用。代码如下:
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
public void DoMouseClick()
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 882, 554, 0, 0);
}
private void button1_Click(object sender, EventArgs e)
{
DoMouseClick();
}
我也尝试用mouse_event(MOUSEEVENTF_LEFTDOWN & MOUSEEVENT_LEFTUP... 替换mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENT_LEFTUP...,但仍然没有运气。其他人已经成功了...为什么我没有?
【问题讨论】:
-
您运行的操作系统是什么版本/位深度?
-
MOUSEEVENTF_LEFTDOWN 和 MOUSEEVENTF_LEFTUP 一次通话??
-
@AlexFarber 是的,否则鼠标只会向下而不是向上,因此什么也不做
-
我的意思是:试试 mouse_event(MOUSEEVENTF_LEFTDOWN ...); mouse_event(MOUSEEVENTF_LEFTUP ...);
标签: c# winapi cursor mouse emulation