Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.034 c
3-1121621163
redlord
2005-07-17 21:26
2005.08.28
запрос sql: если есть изменить запись если нет то добавить запись


9-1114794185
Warchief
2005-04-29 21:03
2005.08.28
lightmap


4-1121014897
pirate
2005-07-10 21:01
2005.08.28
Как считать значение ячейки памяти?


14-1123147824
3DxFantastika
2005-08-04 13:30
2005.08.28
Как перевести дату в UNIX-время (формат)


4-1120111271
Nyuk
2005-06-30 10:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский