我想知道魔兽争霸3游戏的任何按钮是否可以处理?试图通过 spy++ 和 Control Viewer 获取它,但只有主 WC3 窗口可用。
那么有什么想法或建议吗?
我正在尝试模拟单击按钮。我认为可以使用按钮的坐标来做到这一点,但我不确定是否可以为所有屏幕分辨率计算这样的坐标。如果我在某个地方弄错了——请纠正我!
提前谢谢大家!
添加
WIN API
int x = 700;
int y = 70;
int lParam = ((x << 16) | (y & 0xffff));
int parentWindow = FindWindow("Warcraft III", "Warcraft III");
SendMessage(parentWindow, WM_LBUTTONDOWN, IntPtr.Zero, new IntPtr(lParam));
SendMessage(parentWindow, WM_LBUTTONUP, IntPtr.Zero, new IntPtr(lParam));
这样的代码将按下在我离开魔兽争霸 3 窗口后保持活动状态的任何按钮。
直接输入
public void testMouse()
{
INPUT input_down = new INPUT();
input_down.mi.dx = 700;
input_down.mi.dy = 70;
input_down.mi.mouseData = 0;
input_down.mi.dwFlags = (int)MOUSEEVENTF.LEFTDOWN;
INPUT input_up = input_down;
input_up.mi.dwFlags = (int)MOUSEEVENTF.LEFTUP;
INPUT[] input = { input_down, input_up };
SendInput(2, input, Marshal.SizeOf(input_down));
}
这样的代码什么都不做。
任何帮助是极大的赞赏...