我有一些使用 C/C++ 语言的经验。但是我正在玩一个游戏(我的独立软件),我想制作一个与游戏交互的C程序,按键2或Space每两秒一次。是给窗户的。
有任何想法吗?
看看函数SendInput
和keybd_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);
在 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++ 找到您正在搜索的窗口的属性。这将使您轻松知道要搜索的窗口名称。