Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти все CD приводы? [D7, WinXP]


Anthony ©   (2005-02-08 19:41:00) 

Уважаемые мастера! Не подскажите как найти имена дисков всех CD приводов (cd-rom, cd-rw и т.д.)


UserName0001   (2005-02-10 15:31:00) [1]

***


begin...end   (2005-02-09 13:40:00) [2]

> Poirot ©   (09.02.05 13:36) [8]

Да, можно и так, конечно. Наверное, так будет правильнее. Спасибо.


Poirot   (2005-02-09 13:36:00) [3]

begin...end ©   (09.02.05 13:32) [7]
Да, это ИМХО это лучше. потомучто дисков-то может быть мало, а перебирать 26 букв.


begin...end   (2005-02-09 13:32:00) [4]

> Poirot ©   (09.02.05 13:27) [6]

Э-э-э... Не совсем понял... Вы имеете в виду, что можно не тупо проверять всё от 'A' до 'Z', а вначале получить список всех имеющихся дисков?


Poirot   (2005-02-09 13:27:00) [5]

begin...end ©   (08.02.05 19:47) [1]
Всё немного интереснее можно сделать...

GetDriveType - Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.

GetLogicalDrives - Returns a bitmask representing the currently available disk drives.

GetLogicalDriveStrings - Fills a buffer with strings that specify valid drives in the system.


GanibalLector   (2005-02-08 20:54:00) [6]

> он тоже высветиться?
Да!И даже если у тебя виртуальный CD,то тоже высветиться


Anthony   (2005-02-08 20:07:00) [7]

Ну если бы он был, то он тоже будет высвечиваться - вот в чем вопрос


dimaxx   (2005-02-08 20:06:00) [8]

Как он может высветиться, если его нет?


Anthony   (2005-02-08 19:50:00) [9]

Спасибо, а если на компе DVD есть (я спрашиваю, потому что у меня его (DVD) нет) он тоже высветиться?


begin...end   (2005-02-08 19:47:00) [10]

> Anthony ©   (08.02.05 19:41)

Воспользуйтесь функцией GetDriveType.

var
 Ch: Char;
 List: String;
begin
 for Ch := 'A' to 'Z' do
   if GetDriveType(PChar(Ch + ':\')) = DRIVE_CDROM then
     List := List + Ch;
 Caption := List
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо