我想知道您是否可以将句柄转换为窗口“HWND”。我需要使用“FindWindow”方法调用“PostMessage”函数。
我目前必须采购
HANDLE mainProcess;
BOOL APIENTRY ATTACH_PROCESS(int ProcessID)
{
mainProcess = OpenProcess(PROCESS_ALL_ACCESS, true, ProcessID);
return TRUE;
}
BOOL APIENTRY SEND_INPUT(/*NOT USED FOR THIS SAMPLE*/ const char* String, bool Keydown)
{
int ToDo = WM_KEYUP;
if (Keydown)
ToDo = WM_KEYDOWN;
return PostMessage((HWND)mainProcess, ToDo, VK_TAB, NULL);
}
最佳答案
使用mainProcess句柄调用GetProcessId()以获取ProcessID。
调用EnumWindows()
对于每个窗口,调用GetWindowThreadProcessId()以获取与该窗口关联的进程的ProcessId。
比较ProcessID是否匹配-您已找到所需的HWND。
这是一项比较昂贵的任务,因此最好先找到想要的hwnd并将其存储起来。