Форум: "Потрепаться";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизОткрытие системных папок в проводнике Найти похожие ветки
← →
Render (2005-01-13 12:28) [0]Никто случайно не знает как открыть проводником папки наподобие "Мой компьютер", "Сетевое окружение", "Сетевые подключения"???
← →
DiamondShark © (2005-01-13 13:13) [1]explorer.exe /e,::{Extension CLSID}
explorer.exe /e,::{Folder CLSID}\::{Extension CLSID}
My Computer {20D04FE0-3AEA-1069-A2D8-08002B30309D}
My Network Places {208D2C60-3AEA-1069-A2D7-08002B30309D}
Control Panel {21EC2020-3AEA-1069-A2DD-08002B30309D}
Internet Explorer {871C5380-42A0-1069-A2EA-08002B30309D}
← →
Render (2005-01-13 14:27) [2]Спасибо большое!
А как узнать список возможных {Folder CLSID}? Что такое {Extension CLSID}?
← →
DiamondShark © (2005-01-13 15:07) [3]
> А как узнать список возможных {Folder CLSID}
Например, вот так:
procedure TForm1.Button1Click(Sender: TObject);
var
Root: IShellFolder;
enm: IEnumIDList;
pidl: PItemIDList;
Dummy: DWORD;
Name: STRRET;
Malloc: IMalloc;
S: String;
function StrretToString(pidl: PItemIDList; const str: STRRET): string;
begin
case Name.uType of
STRRET_WSTR: Result := str.pOleStr;
STRRET_OFFSET: Result := PChar(Cardinal(pidl)+str.uOffset);
STRRET_CSTR: Result := str.cStr;
end;
end;
begin
Memo1.Clear;
OleCheck( SHGetDesktopFolder(Root) );
OleCheck( Root.EnumObjects(0, SHCONTF_FOLDERS or SHCONTF_INCLUDEHIDDEN, enm) );
OleCheck( SHGetMalloc(Malloc) );
while enm.Next(1, pidl, Dummy) = S_OK do
begin
OleCheck( Root.GetDisplayNameOf(pidl, SHGDN_NORMAL or SHGDN_FORADDRESSBAR, Name) );
S := StrretToString(pidl, Name);
if Name.uType = STRRET_WSTR then Malloc.Free(Name.pOleStr);
OleCheck( Root.GetDisplayNameOf(pidl, SHGDN_NORMAL or SHGDN_FORPARSING, Name) );
S := S + #9 + StrretToString(pidl, Name);
if Name.uType = STRRET_WSTR then Malloc.Free(Name.pOleStr);
Memo1.Lines.Add(S);
end;
end;
Можно и рекурсивно вложенные папки обойти.
← →
Render (2005-01-13 22:48) [4]Еще одно большое спасибо! :-)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c