Главная страница
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.028 c
4-1120650731
Cosinus
2005-07-06 15:52
2005.08.28
Почему из-за нижеследующего кода в ловушке, она не работает?


1-1123160143
Uran
2005-08-04 16:55
2005.08.28
Image в Hint


3-1121438865
_Anton
2005-07-15 18:47
2005.08.28
ODBC и BLOB


1-1123488332
***_Diman_***
2005-08-08 12:05
2005.08.28
Заставка - ход загрузки программы


1-1123426043
Demidoff
2005-08-07 18:47
2005.08.28
Из книжной в альбомную в richedit