0

我有一些使用 C/C++ 语言的经验。但是我正在玩一个游戏(我的独立软件),我想制作一个与游戏交互的C程序,按键2Space每两秒一次。是给窗户的。

有任何想法吗?

4

2 回答 2

1

看看函数SendInputkeybd_event。这些功能会告诉 Windows 按下一个键。

您需要做的就是创建一个每 2 秒休眠一次的循环。 keybd_event是旧约定,但它是我熟悉的约定。

VOID WINAPI keybd_event(
  _In_  BYTE bVk,
  _In_  BYTE bScan,
  _In_  DWORD dwFlags,
  _In_  ULONG_PTR dwExtraInfo
);

下面将模拟按压NumLock

// Simulate a key press
keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0);

// Simulate a key release
keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
于 2013-08-01T15:58:54.523 回答
0

在 Windows 中,这很容易。制作一个 C++ 控制台程序。在您的程序中,您需要搜索 Windows 中的所有“窗口”。Microsoft 将这些 Windows 窗口句柄 (HWND) 称为。您可以使用 FindWindowEx 搜索它们:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms633500 (v=vs.85).aspx 。一旦你找到你的窗口(按名称),你可以发送到窗口 HWND 按键。这是通过 SendMessage(); 完成的。每 2 秒循环一次,你就完成了!

您可以使用 Visual Studio 的 Spy++ 找到您正在搜索的窗口的属性。这将使您轻松知道要搜索的窗口名称。

于 2013-08-01T15:58:33.363 回答