根据pid 获得窗口句柄?
知道程序的pid 如何和获得 窗口句柄能?
没看懂 enumwindows 函数 ?
希望高手 给个例子谢谢
[解决办法]
- C/C++ code
DWORD PID; PID = GetProcessPID(L"test.exe");//获取进程pid函数DWORD GetProcessPID(LPCTSTR pName){ HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (INVALID_HANDLE_VALUE == hSnapshot) { return NULL; } PROCESSENTRY32 pe = { sizeof(pe) }; BOOL fOk; for (fOk = Process32First(hSnapshot, &pe); fOk; fOk = Process32Next(hSnapshot, &pe)){ if (!_tcsicmp(pe.szExeFile, pName)) { CloseHandle(hSnapshot); return pe.th32ProcessID; } } return NULL;}//由进程pid获取进程句柄,置顶HWND hh = GetProcessTopWindows(PID);HWND GetProcessTopWindows(DWORD dwPID){ count = 0; EnumWindows((WNDENUMPROC)EnumWndProc, (LPARAM)dwPID); if(count > 0) { //cout << "窗口句柄是:" << nhWnd[count -1] << endl;//输出句柄,可用spy++工具核对 return (nhWnd[count -1]); } return NULL;}
[解决办法]
5楼高人 可惜EnumWndProc是什么
还有楼主你想msdn啊