求VC高手 获取当前进程的主窗口句柄

2024-12-01 22:44:45
推荐回答(1个)
回答1:

调用EnumWindows(EnumWindowsProc,0);
自己定义
BOOL CALLBACK EnumWindowsProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
){
DWORD PID;
BOOL Result=TRUE;
GetWindowThreadProcessId(hwnd,PID);
if (PID=GetCurrentProcessId())
{
g_hwin = hwnd;//这个g_hwin在你的DLL里定义为一个全局的HWND,也是你想要的句柄
Result = FALSE;
}
return Result;
}
lz可以试试.当然如果知道被注入的进程的窗口名称就不用enumwindow了,直接用FindWindow(NULL, _T("XXXXXX"))的返回值得一个hwnd,然后得到进程id,再判断