您的位置:首页 > 大数据 > 人工智能

GetProcessMainWnd(获取进程窗口句柄)

2017-07-20 16:07 489 查看
typedef struct tagWNDINFO
{
DWORD dwProcessId;
HWND hWnd;
} WNDINFO, *LPWNDINFO;

BOOL CALLBACK YourEnumProc(HWND hWnd, LPARAM lParam)
{
DWORD dwProcessId;
GetWindowThreadProcessId(hWnd, &dwProcessId);
LPWNDINFO pInfo = (LPWNDINFO)lParam;
if( (dwProcessId == pInfo->dwProcessId))
{
pInfo->hWnd = hWnd;
return FALSE;
}
return TRUE;
}

//获取进程窗口句柄
HWND GetProcessMainWnd(DWORD dwProcessId)
{
WNDINFO wi={0};
wi.dwProcessId = dwProcessId;
EnumWindows(YourEnumProc,(LPARAM)&wi);
HWND re_hwnd = wi.hWnd;
while( GetParent(re_hwnd) != NULL )
{
re_hwnd = GetParent( re_hwnd );
}

return re_hwnd;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: