夜影小子 发表于 2019-12-31 13:59:12

VS2019 用进程pid取主窗口句柄hwnd代码分享


网上的基本是全身错误的那个版本,这个代码是经过完善优化后,正确的代码。


HWND GetHwndByPid(DWORD dwProcessID)
{
    HWND h = GetTopWindow(0);
    HWND retHwnd = NULL;
    while ( h )
    {
      DWORD pid = 0;
      DWORD dwTheardId = GetWindowThreadProcessId( h,&pid);
      if (dwTheardId != 0)
      {
            if ( pid == dwProcessID && GetParent(h)==NULL && ::IsWindowVisible(h))         
            {
                retHwnd = h;    //会有多个相等值
                //    /*
                char buf = {0};
                sprintf(buf,"%0x",h);
                MessageBox(NULL,buf,"提示",MB_OK);
                //    */
            }
      }
      h= GetNextWindow(h,GW_HWNDNEXT);
    }
    return retHwnd;
}

黑夜丶空白 发表于 2020-1-1 21:54:29

感谢   分享

arygboy 发表于 2020-1-3 18:35:31

支持楼主,支持看流星社区,以后我会经常来!

2147467372 发表于 2020-1-5 15:51:55

微信助手,注册、登陆,解绑,关注公众号,发朋友圈,站街,打招呼,摇一摇,投票,授权各种功能,支持试用,可以根据需求修改功能。下载地址:https://share.weiyun.com/5OJiqOL

MCsnow 发表于 2020-1-11 00:24:56

感谢   分享

尚时尚 发表于 2020-1-23 05:03:05

:shutup::kiss::sleepy:

尚时尚 发表于 2020-1-24 05:21:44

:time::shutup::L

尚时尚 发表于 2020-1-25 04:43:22

:kiss::dizzy::curse:

尚时尚 发表于 2020-1-26 04:59:28

:sleepy::time::Q

尚时尚 发表于 2020-1-30 02:49:45

:hug::(:curse:
页: [1] 2
查看完整版本: VS2019 用进程pid取主窗口句柄hwnd代码分享