最近我尝试为MMO游戏(称为Florensia)创建机器人。 它应该点击游戏中的几个位置。 我的问题是它只将cursour设置到位置,但点击不起作用。如果我在我的桌面或其他程序中试用它,它会正确点击。 游戏当然是窗口模式,我已经尝试设置Mouseup和Mousedown之间的延迟。 此外,在点击无效之前将游戏设置为前景窗口。
期待任何答案! :)
答案 0 :(得分:0)
尝试使用此示例中的WinApi函数。
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);
static void Main(string[] args)
{
const int WM_LBUTTONDOWN = 0x0201;
const int WM_LBUTTONUP = 0x0202;
const int MK_LBUTTON = 0x0001;
uint x = 100;
uint y = 100;
IntPtr handle = new IntPtr(0x00090996); //Your window handle
SetForegroundWindow(handle);
Thread.Sleep(300);
SendMessage(handle, WM_LBUTTONDOWN, new IntPtr(MK_LBUTTON), new IntPtr(y << 16 | x));
Thread.Sleep(300);
SendMessage(handle, WM_LBUTTONUP, new IntPtr(0), new IntPtr(y << 16 | x));
}