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[MAX_PATH] = {0};
                sprintf(buf,"%0x",h);
                MessageBox(NULL,buf,"提示",MB_OK);
                //    */
            }
        }
        h  = GetNextWindow(h,GW_HWNDNEXT);
    }
    return retHwnd;
}

网上的基本是全身错误的那个版本。

相关文章:

  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2022-01-27
  • 2021-06-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2021-04-10
  • 2021-11-04
  • 2022-12-23
  • 2022-02-03
相关资源
相似解决方案