Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проводник (explorer) [D7, WinXP]


HeKTO ©   (2004-09-01 09:04:00) 

Господа знатоки, подскажите - как закрыть одно (НЕ ВСЕ) из окон проводника (Например открытую папку Windows);
SendMessage(WND_окна,wm_close, 1, 1); - не работает для explorerА...
Есть, конечно идея (до ужаса глупая): получить координаты окна и програмно кликнуть по крестику :)- но это тупо!!!
Повторяю - нужно закрыть ОДНО окно, а не убить explorer


Anthonio   (2004-09-03 11:44:00) [1]

А если использовать PostMessage(Handle_окна, WM_CLOSE, 0, 0)


lehich   (2004-09-03 09:28:00) [2]

а почему у меня:
[Error] Undeclared identifier: 'CreateOleObject' ???


Дмитрий Ботвин   (2004-09-02 12:17:00) [3]

Прикольно, но последний вариант действительно работает!!!


BiN   (2004-09-02 11:47:00) [4]

Как один из вариантов:


var
 ShellObj:Variant;
 Wnds:Variant;
 L, i:Integer;
 IEObj:Variant;
begin
 Memo1.Lines.Clear;
 ShellObj:=CreateOleObject('Shell.Application');
 Wnds:=ShellObj.Windows;
 try
 L:=Wnds.Count;
 if L>0 then
 for i:=0 to L-1 do
 begin
   IEObj:=Wnds.Item(i);
   Memo1.Lines.Add(Format('%d. IE Window: %s  ::  %s', [i, IEObj.FullName, IEObj.LocationName, IEObj.LocationURL]));
   if i=0 then IEObj.Quit; // а вот и закрытие первого окна
   IEObj:=Null;
 end;
 finally
 Wnds:=Null;
 ShellObj:=Null;
 end;
end;


Зяц   (2004-09-01 18:28:00) [5]

Наверна, WM_SYSCOMMAND отослать с парамитром SC_CLOSE, я точно не знаю, но придполагаю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо