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

Вниз

Как получить список физических дисков и их тип   Найти похожие ветки 

 
cranium   (2005-07-04 03:03) [0]

Как получить список физических дисков и их тип, а также сопоставить их логическим дискам.


 
panov ©   (2005-07-04 10:10) [1]

Удалено модератором


 
Игорь Шевченко ©   (2005-07-04 10:30) [2]

Для NT-систем:
http://www.schevchenko.net.ru/SRC/DeviceIoControl_60.zip


 
cranium   (2005-07-04 14:37) [3]

Спасибо ща буду смотреть...


 
cranium   (2005-07-04 15:51) [4]

Еще раз спасибо, но это немного не то, мне нужно увидеть диски со сменными ностелями (флоп, usb устройства. Узнать является ли диск, диском со сменным носителем можно GetDriveType, а вот как узнать что это за носитель, флоп, картрейдер, флешь модуль?


 
Игорь Шевченко ©   (2005-07-04 17:05) [5]


> мне нужно увидеть диски со сменными ностелями


Очевидно об этом надо писать в первом вопросе ? Чтобы я не сильно напрягался, выкладывая ссылку.


 
cranium   (2005-07-04 17:16) [6]

Сыллка очень помогла, получить ответы на другие вопросы:)
А вот по второй части тишина....


 
АНТИСПАММЕР ©   (2005-07-05 00:35) [7]

Что то вроде этого :

begin
 case GetDriveType("C:\") of
   0: ShowMessage("The drive type cannot be determined");
   1: ShowMessage("The root directory does not exist");
   DRIVE_REMOVABLE: ShowMessage("The disk can be removed");
   DRIVE_FIXED: ShowMessage("The disk cannot be removed");
   DRIVE_REMOTE: ShowMessage("The drive is remote (network) drive");
   DRIVE_CDROM: ShowMessage("The drive is a CD-ROM drive");
   DRIVE_RAMDISK: ShowMessage("The drive is a RAM disk");
 end;


 
cranium   (2005-07-05 00:45) [8]

Что то вроде этого есть в стандартной справке. Это уже реализовано.. Вопрос в другом, диск DRIVE_REMOVABLE, я могу получить список разделов на нем (см пример от Игоря Шевченко), могу узнать диск в устройстве или нет, но мне еще надо знать что это за устройство, с CDROM все ясно, но как узнать что за носитель если это :флоп, флешь карта, картридер и темболее какой тип карты в него вставлен.....


 
АНТИСПАММЕР ©   (2005-07-05 01:39) [9]

посмотрите на http://www.bsdg.org/resources/Delphi_Free_Components.html

там целая прорва библиотек и компонентов


 
Просто Джо ©   (2005-07-05 04:18) [10]


>  [8] cranium   (05.07.05 00:45)
> но как узнать что за носитель
> если это :флоп, флешь карта, картридер и темболее какой
> тип карты в него вставлен.....

А с чего вы взяли, что эта задача хотя-бы теоретически имеет решение?

> CDROM все ясно

Ну, если все ясно, то вы можете загрести немалые деньги за идею о том, как построить алгоритм защиты, обманывающей абсолютно все эмуляторы CD-приводов.


 
Игорь Шевченко ©   (2005-07-05 10:48) [11]


> но как узнать что за носитель если это :флоп, флешь карта,
> картридер


Флоппи от не-флоппи я отличал так:

   DRIVE_REMOVABLE:
     begin
       System.Delete (DrivePath, 3, 1);
       if QueryDosDevice (PChar(DrivePath), Buffer, SizeOf(Buffer)) = 0 then
         Result.DriveType := dtError
       else if (SameText(Buffer, "\Device\Floppy0")) then
         Result.DriveType := dtFloppy
       else
         Result.DriveType := dtRemovable;
     end;
   else
     Result.DriveType := dtError;
   end;


 
Alex Konshin ©   (2005-07-06 00:01) [12]

Тип носителя можно установить и более точно. Есть какой-то IOCTL код, сейчас лень искать. Там можно различить и OMD драйв, и ZIP, и флоппи...


 
Alex Konshin ©   (2005-07-06 00:03) [13]

Код зовется что-то вроде IOCTL_GET_MEDIA_TYPE. Это я совершенно на вскидку, не помню точно.


 
Alex Konshin ©   (2005-07-06 00:25) [14]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/ioctl_storage_get_media_types_ex.asp
Она выдает информацию об устройстве, в том числе это:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/storage_media_type.asp
Мне еще кажется, что в DDK я видел больше типов носителей.



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

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

Наверх




Память: 0.5 MB
Время: 0.052 c
1-1122699937
Navi
2005-07-30 09:05
2005.08.28
AutoCAD + Delphi - аргументы для SetXRecordData?


14-1123253844
lookin
2005-08-05 18:57
2005.08.28
Куб и Куб 3 (0)


3-1121255683
Sanich
2005-07-13 15:54
2005.08.28
При объединении двух таблиц в запросе с одной надо выбрать все за


1-1123512346
Андрей Молчанов
2005-08-08 18:45
2005.08.28
Узнать, лежит ли в папке файл или подпапка.


3-1121432901
Shama_n
2005-07-15 17:08
2005.08.28
LIKE в MySQL не дружит с параметрами?