gpt4 book ai didi

c# - 如何在 c# 中模拟鼠标点击,这将在游戏中起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:30 25 4
gpt4 key购买 nike

当我玩帝国时代或其他策略游戏时,我经常需要将某些资源出售 100 次,然后再出售一次。这很烦人:(

我写了一个程序,通过点击鼠标来帮助我:

//This is the decleration
[DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);

private void ClickTheMouse()
{
int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}

然后通过使用计时器和上面的代码我可以点击 30 次。

它在 Windows 和 Windows 中(word、Firefox 等)甚至在帝国时代都运行良好,但不幸的是它在“Stronghold crusader”和其他一些我不记得它们的游戏中不起作用名字。

我假设发生这种情况是因为点击是在高级别模拟的,如果它被模拟得更接近驱动程序级别,它就会起作用。

我有两个问题:

  1. 我的假设正确吗?
  2. 我怎样才能在较低的级别模拟鼠标点击,这将在这个游戏中起作用?

我使用 c#,但任何 c++ 代码也有帮助(我将只使用 PInvoke)。

谢谢,

最佳答案

我曾经遇到过同样的问题。您是否尝试通过 VS2010 中的发布/调试编译器使用该应用程序?如果是这样,请尝试单独运行单独的编译文件,如果适用,请记住以管理员身份运行它。

无论出于何种原因,当由 VSHost 托管时,我的机器人在某些游戏中拒绝正常工作。

关于c# - 如何在 c# 中模拟鼠标点击,这将在游戏中起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com