Вниз
Скачать: 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
7-60876
Korin
2002-06-06 18:27
2002.08.19
Программный shutdown Windows 9x/2k/XP


7-60864
Dmitry V. Averuanov
2002-05-11 12:06
2002.08.19
В какой каталог установлен Windows


4-60911
PSERG
2002-06-15 10:15
2002.08.19
Путь к загруженой DLL


1-60666
fuxx
2002-08-06 10:16
2002.08.19
C++ Builder и TStringGrid. Неправильно выводит первые строки.


8-60753
Fast
2002-04-11 11:54
2002.08.19
Я что-то упустил.




   Наверх