Вниз
Скачать: 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.009 c
1-60647
AL2002
2002-08-08 16:21
2002.08.19
Подсчёт совпадений в массиве


1-60726
SinnerPro
2002-08-07 04:05
2002.08.19
Помогите с ListView!


1-60717
ReZOnAnS
2002-08-07 07:05
2002.08.19
Обработка параметров


3-60526
UnDISCOvery
2002-07-30 11:58
2002.08.19
Как создать автоинкрементное поле SQL-запросом ?


3-60505
Сергей Б.
2002-07-26 13:19
2002.08.19
Временные таблицы в Intebase




   Наверх