Вниз
Скачать: CL | DM;

Как программно закрыть окно   Найти похожие ветки 

 
Izyum ©   (2002-06-13 22:47) [0]

Уважаемые Мастера!
Каким образом можно програмно закрыть окно "Мой компьютер" ("Мои документы", "Корзина", "Сетевое окружение")?
Пробовал посылать окну сообщение а-ля SendMessage(FindWindow("Корзина",..., так окно на него не реагирует.
Пробовал определять идентификатор процесса и использовать TerminateProcess. Окно закрывается, но... Вместе с закрываемым окном прибивается и Program Manager (пропадает кнопка "Пуск", TaskBar, все ярлыки с рабочего стола - на экране остаются одни обои). С другими окнами оба способа работают без проблем, а эти четыре окна меня уже достали:) Если кто знает в чем засада, объясните.


 
Goblinus   (2002-06-13 23:04) [1]

procedure TForm1.MyProcedure();
var H: Hwnd;
begin
H := findwindow(Класс_окна, Имя_окна);
if H <> 0 then SendMessage(H, wm_close, 0, 0);
end;

Класс и имя окна можно узнать с помощью утилиты Ws32.exe (каталог ($Delphi)\Bin)


 
Игорь Шевченко ©   (2002-06-14 10:57) [2]

Странного хотите...
Это же не окна, а элементы TListView


 
Izyum ©   (2002-06-17 11:41) [3]

Разобрался сам, но спасибо всем.
Указанные окна на SendMessage не реагируют.
При использовании функции PostMessage окно закрывается без проблем.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
14-60859
Viewer
2002-07-23 16:13
2002.08.19
Особенности работы одной программы


1-60662
BJValentine
2002-08-08 21:25
2002.08.19
Закрытие программы


14-60807
kerby
2002-07-22 17:28
2002.08.19
Как найти имя на DHCP сервере по ip-адресу?


1-60567
Брат
2002-08-07 16:58
2002.08.19
Сетевое окружение в OpenDialog


3-60522
Demon[DZ]
2002-07-30 12:09
2002.08.19
Помогите ! У меня проблема с UDF (Interbase 6.0)




   Наверх