24.11.2006, 09:56
общий
это ответ
Здравствуйте, Васильев Н.Ю.!
Добавлю, если Вы не знаете точно заголовок окна, или он может меняться, поиск придется вести по декскриптору процесса.
Можно, например, зпускать приолжение при помощи ShellExecuteEx, чтобы получить его, потом при наступлении нужного события перебирать окна и искать созданное нужным процессом. Пример в приложении.
Удачи!
Приложение:
// Запуск приложенияSHELLEXECUTEINFO sei;memset(&sei, 0, sizeof(SHELLEXECUTEINFO));sei.cbSize = sizeof(SHELLEXECUTEINFO);sei.fMask = SEE_MASK_NOCLOSEPROCESS;sei.lpVerb = "open";sei.lpFile = "your_file.exe";sei.nShow = SW_SHOW;ShellExecuteEx(&sei);HANDLRE hProcess = sei.hProcess;DWORD idProcess = GetProcessId(hProcess);...// При необходимости показать окноEnumWindows(wEnumProc, (LPARAM) hProcess);...BOOL CALLBACK wEnumProc(HWND hwnd, LPARAM lParam){ DWORD idTargetProcess = (DWORD) lParam; HANDLE hPrc = 0; GetWindowThreadProcessId(hWnd, &idPrc); if (idPrc == idTargetProcess) { // ... показываем окно hWnd return FALSE; } return TRUE;}