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

Вниз

узнать, что это драйв по IShellFolder и Pidl   Найти похожие ветки 

 
Андрей Молчанов   (2005-08-06 10:37) [0]

Здравствуйте, Мастера!

Начал я тут мучаться с ShellApi и вот возник вопрос - как при получении детишек специальной папки CsidlDrives (Мой Компьютер) отобразить только драйвы, а не "Общие документы", "Документы - <...>" и другие. Сначала хотел с помощь функции


function IsDrive(ShellFolder: IShellFolder; ID: PItemIDList): Boolean;
var
 Flags: UINT;
begin
 Flags := SFGAO_DRIVE;
 ShellFolder.GetAttributesOf(1, ID, Flags);
 Result := SFGAO_DRIVE and Flags <> 0;
end;


но... аттрибута SFGAO_DRIVE в природе не оказалось :(

Пожалуйста, подскажите, что делать.


 
DiamondShark ©   (2005-08-06 11:33) [1]

Проверить SFGAO_FILESYSTEM.
Если объект файловой системы, то получить путь и разбираться уже по пути.

Где-то, примерно, так.


 
Андрей Молчанов   (2005-08-06 11:42) [2]

Ага, понял, спасибо!

Еще один вопрос: в пространстве имен некоторые объекты файловой системы дублируются несколько раз, пример - файл можно найти, как по ветке Мои Документы, так и по Мой Компьютер. Можно ли как-нибудь узнать это, кроме полного перебора?

Например, в Архивации данных от Windows (Пуск-Стандартные-Служебные), если выделить  Мои Документы, то они выделятся и на C:\.

Как можно такое сделать? Или только перебором? А если перебором, то сколько это займет времени?



Страницы: 1 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
1-1123589386
Tonich
2005-08-09 16:09
2005.08.28
TListItem


1-1123482790
rolex
2005-08-08 10:33
2005.08.28
Как в TreeView загрузить дерево папок?


1-1123144619
Starcom
2005-08-04 12:36
2005.08.28
Есть кусок кода, как оптимизировать, что не так, где дурной тон?


1-1123441747
Tab
2005-08-07 23:09
2005.08.28
Прозрачность SpeedButton при включенных стилях XP.


6-1116052678
Chaser
2005-05-14 10:37
2005.08.28
Защита от автоматической регистрации сайтов