![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно закрыть окно [D6, Win95/98]
Izyum © (2002-06-13 22:47:00)Уважаемые Мастера!
Каким образом можно програмно закрыть окно "Мой компьютер" ("Мои документы", "Корзина", "Сетевое окружение")?
Пробовал посылать окну сообщение а-ля SendMessage(FindWindow("Корзина",..., так окно на него не реагирует.
Пробовал определять идентификатор процесса и использовать TerminateProcess. Окно закрывается, но... Вместе с закрываемым окном прибивается и Program Manager (пропадает кнопка "Пуск", TaskBar, все ярлыки с рабочего стола - на экране остаются одни обои). С другими окнами оба способа работают без проблем, а эти четыре окна меня уже достали:) Если кто знает в чем засада, объясните.
Izyum (2002-06-17 11:41:00) [1]Разобрался сам, но спасибо всем.
Указанные окна на SendMessage не реагируют.
При использовании функции PostMessage окно закрывается без проблем.
Игорь Шевченко (2002-06-14 10:57:00) [2]Странного хотите...
Это же не окна, а элементы TListView
Goblinus (2002-06-13 23:04:00) [3]
procedure TForm1.MyProcedure();
var H: Hwnd;
begin
H := findwindow(Класс_окна, Имя_окна);
if H <> 0 then SendMessage(H, wm_close, 0, 0);
end;
Класс и имя окна можно узнать с помощью утилиты Ws32.exe (каталог ($Delphi)\Bin)