Главная страница
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.026 c
14-1123236915
Digitman
2005-08-05 14:15
2005.08.28
»» Перемещено в конференцию "Начинающим"


1-1123493220
гость2
2005-08-08 13:27
2005.08.28
проверка значения


4-1121234237
Volumer
2005-07-13 09:57
2005.08.28
Процесс


1-1123408733
Senti
2005-08-07 13:58
2005.08.28
Помогите новичку. Как массивы символов складывать....


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