Текущий архив: 2004.10.10;
Скачать: CL | DM;
Вниз
Проводник (explorer) Найти похожие ветки
← →
HeKTO (2004-09-01 09:04) [0]Господа знатоки, подскажите - как закрыть одно (НЕ ВСЕ) из окон проводника (Например открытую папку Windows);
SendMessage(WND_окна,wm_close, 1, 1); - не работает для explorerА...
Есть, конечно идея (до ужаса глупая): получить координаты окна и програмно кликнуть по крестику :)- но это тупо!!!
Повторяю - нужно закрыть ОДНО окно, а не убить explorer
← →
Зяц © (2004-09-01 18:28) [1]Наверна, WM_SYSCOMMAND отослать с парамитром SC_CLOSE, я точно не знаю, но придполагаю.
← →
BiN © (2004-09-02 11:47) [2]Как один из вариантов:
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-02 12:17) [3]Прикольно, но последний вариант действительно работает!!!
← →
lehich © (2004-09-03 09:28) [4]а почему у меня:
[Error] Undeclared identifier: "CreateOleObject" ???
← →
Anthonio (2004-09-03 11:44) [5]А если использовать PostMessage(Handle_окна, WM_CLOSE, 0, 0)
Страницы: 1 вся ветка
Текущий архив: 2004.10.10;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.075 c