Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Как имея хендл чужого окна узнать о его закрытии ?   Найти похожие ветки 

 
Пастор   (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 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1099423937
Hyboid
2004-11-02 22:32
2004.11.21
Рамка


3-1098767998
SIL
2004-10-26 09:19
2004.11.21
INSERT с параметрами


14-1099855294
Piter
2004-11-07 22:21
2004.11.21
А дайте простенькую программу на C#


1-1099473407
Max Ivanych
2004-11-03 12:16
2004.11.21
Переключение на другой лист Excel


3-1098368557
MORA
2004-10-21 18:22
2004.11.21
глюк в программе IB Console





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский