C#在游戏中模拟鼠标点击并不起作用

时间:2017-03-10 06:40:33

标签: c# mouse bots simulate

最近我尝试为MMO游戏(称为Florensia)创建机器人。 它应该点击游戏中的几个位置。 我的问题是它只将cursour设置到位置,但点击不起作用。如果我在我的桌面或其他程序中试用它,它会正确点击。 游戏当然是窗口模式,我已经尝试设置Mouseup和Mousedown之间的延迟。 此外,在点击无效之前将游戏设置为前景窗口。

期待任何答案! :)

1 个答案:

答案 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));
}