Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
ВнизКак получить список физических дисков и их тип Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c