- 注册时间
- 2021-4-16
- 最后登录
- 2024-3-8
- 在线时间
- 3 小时
编程入门
- 龙马币
- 96
|
网上的基本是全身错误的那个版本,这个代码是经过完善优化后,正确的代码。
- 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;
- }
复制代码
|
|