查找窗口的几种方法
来源:互联网 发布:打字员软件 编辑:程序博客网 时间:2024/05/25 05:37
1.根据窗进程的ID来查找
//枚举窗口BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam){ LPWNDINFO pInfo = (LPWNDINFO)lParam; DWORD dwProcessId = 0; GetWindowThreadProcessId(hWnd, &dwProcessId); if(dwProcessId == pInfo->dwProcessId) { ShowWindow(hWnd,SW_SHOW); } return TRUE;}void ShowWindowByProcessID(DWORD dwProcessId){if(dwProcessId == 0) return ; WNDINFO wi; wi.dwProcessId = dwProcessId; wi.hWnd = NULL; EnumWindows(EnumWindowsProc,(LPARAM)&wi); return 0;}
2.根据运行程序的名称来查找(如:explorer.exe)
//枚举窗口BOOL CALLBACK EnumWindowsProc2(HWND hWnd,LPARAM lParam){DWORD pid;DWORD dwProcessId=GetWindowThreadProcessId(hWnd,&pid);if(dwProcessId!=0){if(pid==lParam){::ShowWindow(hWnd,SW_SHOW);}}return TRUE;}//根据程序文件名获取进程IDGetPIDFromName(LPCTSTR procName){DWORD iProcID=0;PROCESSENTRY32 pEntry={sizeof(PROCESSENTRY32)};HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);if(hSnapshot!=INVALID_HANDLE_VALUE){ if(Process32First(hSnapshot,&pEntry)){while (Process32Next(hSnapshot, &pEntry)){if(lstrcmpi(procName, pEntry.szExeFile) == 0){iProcID=pEntry.th32ProcessID;CloseHandle(hSnapshot);break;}}} }return iProcID;}void ShowWindowByEXEName(LPCTSTR exeName){ DWORD pID=GetPIDFromName(exeName);if(pID!=0){EnumWindows(EnumWindowsProc2,pID); }}
- 查找窗口的几种方法
- 弹出窗口的几种方法
- 新弹出窗口的几种方法
- 弹出窗口的几种方法
- 弹出窗口的几种方法
- 窗口置前的几种方法
- 窗口置前的几种方法
- js关闭窗口的几种方法
- C#隐藏窗口的几种方法
- 得到窗口句柄的几种方法
- 跨窗口通信的几种方法
- js关闭窗口的几种方法
- 关于查找Assembly的几种方法
- 查找数组的几种方法
- webdriver查找元素的几种方法
- 几种增强的查找方法
- Unity几种查找物体的方法
- eclipse查找的几种方法
- android接触--新版本编译OK,系统却起不来
- 长按手势获取UITableView的indexPath值,删除某行
- linux下安装配置R环境相关依赖包
- HDU 1257 最少拦截系统
- 25个增强iOS应用程序性能的提示和技巧--中级篇
- 查找窗口的几种方法
- uva 10494 大数
- NSObject和反射
- VLC播放器所需的SPS,PPS获取方法
- Oracle 转义HTML特殊字符
- 我的独立面对
- JDBC执行Oracle传入参数为集合对象的存储过程
- 谷歌技术"三宝"之BigTable
- wamp建立多个目录挂多个网站