我想向textinput标签发送一些消息给某些游戏的客户但我找不到hwnd。我使用这段代码:
#include <windows.h>
#include <iostream>
BOOL CALLBACK EnumChildProc(HWND hWnd, LPARAM lp);
int main(int argc, char** argv)
{
HWND hWnd;
while( !( hWnd = FindWindow(NULL, "GameClient") ) )
{
Sleep(500);
std::cout << "Waiting for launch...\n";
}
EnumChildWindows(hWnd, &EnumChildProc, NULL);
return 0;
}
BOOL CALLBACK EnumChildProc(HWND hWnd, LPARAM lp)
{
char buff[128];
GetClassName(hWnd, buff, sizeof(buff));
std::cout << buff <<"\n";
return true;
}
这只是找到标题所在的主窗口,仅此而已,这不是主要的hwnd和havn't孩子,但我检查了WinSpy并且也找不到任何窗口因为总是得到只有hwnd与窗口tittle 。此代码适用于AkelPad和其他但不适用于游戏的客户端。我想这对于像directx这样的游戏来说是特别的。那么我能做什么呢?