【发布时间】:2011-01-10 19:16:37
【问题描述】:
我编写了一段代码来模拟鼠标点击,这在我的 Vista 中运行良好。但是当我在 Windows 7 中测试它时,它不会生成点击事件。有人可以帮忙吗?我在下面添加代码 sn-p。 谢谢, 尼基尔
[DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
[Flags]
public enum MouseEventFlags
{
LEFTDOWN = 0x00000002,
LEFTUP = 0x00000004,
MIDDLEDOWN = 0x00000020,
MIDDLEUP = 0x00000040,
MOVE = 0x00000001,
ABSOLUTE = 0x00008000,
RIGHTDOWN = 0x00000008,
RIGHTUP = 0x00000010
}
System.Windows.Forms.Cursor.Hide();
System.Windows.Forms.Cursor.Position = new System.Drawing.Point(xinc + rct.Left, yinc + rct.Top);
int X = System.Windows.Forms.Cursor.Position.X;
int y = System.Windows.Forms.Cursor.Position.Y;
mouse_event((int)(MouseEventFlags.LEFTDOWN), 0, 0, 0, 0);
mouse_event((int)(MouseEventFlags.LEFTUP), 0, 0, 0, 0);
System.Windows.Forms.Cursor.Position = new System.Drawing.Point(0, 0);
System.Windows.Forms.Cursor.Show();
【问题讨论】:
-
mouse_event 已被 SendInput 完全取代。如果更新为 SendInput,您的代码是否有效?
-
@Michael : 嗨,您能否提供一个示例或链接以在 c# 中使用发送输入?