Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Открытие системных папок в проводнике   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
3-1104240387
denis24
2004-12-28 16:26
2005.01.30
DbGridEH


3-1104093610
Константинов
2004-12-26 23:40
2005.01.30
Как сменить пароль ( Vfster Password ) таблицы Paradox?


1-1105943055
DelphiN!
2005-01-17 09:24
2005.01.30
Отключить контексное меню TWebBrowser-a


3-1104242406
Georji
2004-12-28 17:00
2005.01.30
Добавление поля


1-1106123979
MakNik
2005-01-19 11:39
2005.01.30
состояние файла