我已经写了一段代码来模拟鼠标点击,这在我的Vista中工作正常。但是,当我在Windows 7中测试它不会生成单击事件。有人可以帮忙吗?我正在添加下面的代码片段。 谢谢, Nikil模拟鼠标单击和鼠标移动在Windows 7中使用C#
[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 2011-01-10 19:29:40
@Michael:你能否提供一个例子或链接来使用C#中的发送输入? – Nikil 2011-01-10 22:10:08