![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проводник (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, я точно не знаю, но придполагаю.