Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

узнать, что это драйв по 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.037 c
14-1122973817
Incognito
2005-08-02 13:10
2005.08.28
Кризис


14-1122959574
Ega23
2005-08-02 09:12
2005.08.28
С днем рождения! 2 августа


14-1123247971
Empleado
2005-08-05 17:19
2005.08.28
как иностранцу сойти за русского в Москве


1-1123270317
Muller
2005-08-05 23:31
2005.08.28
Не открывается файл Reset ом


6-1116131265
A№t0№
2005-05-15 08:27
2005.08.28
Определение подключения к интернету





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский