Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
3-1121520621
Cardinal
2005-07-16 17:30
2005.08.28
Индекс по дате


1-1123516665
Zer0
2005-08-08 19:57
2005.08.28
запуск метода сразу после заверщения работы FormCreate


5-1095417211
старый маразматик
2004-09-17 14:33
2005.08.28
не видно методов компонента в разных dpk


1-1123359237
mmms
2005-08-07 00:13
2005.08.28
Мышь над/вне компанентом(формой)


6-1116262547
Opryshok
2005-05-16 20:55
2005.08.28
TWebBrowser и *.doc




   Наверх