这是原始问题,但它被认为是java: 在Java中的非活动窗口上的某个位置模拟鼠标点击?
无论如何,我正在构建一个在后台运行的机器人.这个机器人要求我点击.当然,我希望能够在机器人运行时做其他事情.
所以我想知道是否可以在非活动窗口的某个位置模拟鼠标点击.
如果可以的话,如果你们中的任何人能帮助我,我将不胜感激.
谢谢!
是的,这是可能的,这是我以前学校项目使用的代码:
[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); public const int MOUSEEVENTF_LEFTDOWN = 0x02; public const int MOUSEEVENTF_LEFTUP = 0x04; public const int MOUSEEVENTF_RIGHTDOWN = 0x08; public const int MOUSEEVENTF_RIGHTUP = 0x10; //This simulates a left mouse click public static void LeftMouseClick(Point position) { Cursor.Position = position; mouse_event(MOUSEEVENTF_LEFTDOWN, position.X, position.Y, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, position.X, position.Y, 0, 0); }
编辑:似乎该mouse_event
功能被替换SendInput()
但它仍然有效(Windows 7及更早版本)