您的位置:首页 > 其它

通过ProcessID获取窗口句柄

2009-04-23 18:38 387 查看
HWND g_hwnd;
int g_nFound;

BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam) :

HWND GetHwndFromPID ( DWORD dwProcessId)
{
g_hwnd = NULL;
g_nFound = 0;

EnumWindows ( FindHwndFromPID, ( LPARAM) dwProcessId));

if ( g_hwnd) // we found one...
return ( g_hwnd);

// nothing found :-(

return (NULL);
}

BOOL CALLBACK FindHwndFromPID( HWND hwnd, LPARAM lParam)
{
DWORD dwPID2Find = ( DWORD) lParam;
DWORD dwPID = 0;

if ( GetWindowThreadProcessId ( hwnd, &dwPID))
{
if ( dwPID == dwPID2Find)
{
g_hwnd = hwnd;

return ( FALSE);
}
}

return ( TRUE);
}

使用方法:
HWND hwnd = GetHwndFromPID(GetCurrentProcessId());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: