Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизКак имея хендл чужого окна узнать о его закрытии ? Найти похожие ветки
← →
Пастор (2004-10-11 23:16) [0]Как имея хендл чужого окна узнать о его закрытии ?
← →
Yanis © (2004-10-11 23:21) [1]Самое простое: проверять существует оно или нет.
← →
Пастор (2004-10-12 09:27) [2]Самое простое: проверять существует оно или нет.
А как ? Я делал :
repeat
sleep(10);
until wnd <> FindWindow(nil, "My window");
Работает только в том случае, если окно не меняет заголовка.
← →
KSergey © (2004-10-12 09:30) [3]> [2] Пастор (12.10.04 09:27)
И где же здесь используется хендл? ;)
Можно, думаю, просто ссендить какое-либо сообщение типа WM_GETTEXT или что-то подобное "нейтральное" и проверять возвращаемую ошибку... Хотя, а вдруг успеет создасться окно, которое получит тот же хендл? Маловероятно, конечно...
← →
Erik1 © (2004-10-12 10:53) [4]Может попробовать узнать о завершении процесса, если с закрытием окна завершается процес.
← →
Юра (2004-10-12 10:53) [5]Поставь хук на это окно SetWindowHook. Отлавливай сообщение WM_CLOSE или WM_DESTROY. Callback процедуру хука размести в ДЛЛ, если отслеживаемое окно находится в другом процессе.
← →
Ascan (2004-10-12 11:08) [6]Пастор, попробуй так:
if IsWindow(hWnd)
then ... // Существует
else ... // Нет
← →
Lin7 (2004-10-12 11:16) [7]Функция IsWindow ?
← →
Ascan (2004-10-12 12:05) [8]Lin7
>> Функция IsWindow ?Функции для работы с окнами
BOOL IsWindow( HWND hWnd );
Функция определяет, существует ли окно, которое идентифицирует указанный дескриптор.
Если дескриптор идентифицирует существующее окно, то функция возвращает ненулевое значение, а если окно не существует, то - 0.
Рекомендуется использовать данную функцию только для определения существования окон своего приложения. Использование данной функции для определения существования окон других приложений может привести к ошибке программы, т.к. окно определенное как существующее, может быть разрушено своим приложением в следующее мгновенье.
Параметр Описание
hWnd [in] Дескриптор окна
Системные требования и поддержка:Windows NT/2000:
Windows NT 3.1 и вышеWindows 95/98/Me:
Windows 95 и вышеDelphi:
Delphi 5 и вышеС++:
Winuser.h; User32.lib
← →
Пастор (2004-10-12 12:12) [9]Ascan, спасибо. Это то, что нужно.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c