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

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

Как определить колличество установленных CDROM ов и их имена? [D5, WinXP]


DenKop ©   (2002-08-16 00:55:00) 

Собственно сабж.


France   (2002-08-19 09:40:00) [1]

Вот функция, которая показывает какие сиди-ромы есть в системе


function CDList : string;
var
Drives, Loop : integer;
Work : string;
begin
Drives:=GetLogicalDrives;
Result:="";
for Loop:=0 to 25 do
if ((1 shl Loop) and Drives)<>0 then
begin
Work:=Char(65+Loop)+":\";
if GetDriveType(PChar(Work))=DRIVE_CDROM then
Result:=Result+Char(65+Loop);
end;
end;

Удачи!


DenKop   (2002-08-16 17:30:00) [2]

Нужно было имя производителя, а оно лежало в великом Сис. Реестре. Спасибо за помощь.


mumu   (2002-08-16 06:15:00) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
w:dword;
Root:string;
i:integer;
begin
w:=GetLogicalDrives;
Root := "#:\";
for i := 0 to 25 do
begin
Root[1] := Char(Ord("A")+i);
if (W and (1 shl i))>0 then
if GetDriveType(Pchar(Root)) = DRIVE_CDROM then
Form1.Label1.Caption:=Root;
end;
end;

Взято с http://www.sources.ru/delphi/files/cdrom_letter.shtml
---------------
С уважением, mumu


Poirot   (2002-08-16 03:08:00) [4]

Ну собствунно это делается через GetDriveType (RTFM)
ну и в самом прямом случае пробиваешь по всему латинскому алфавиту, и проверяешь значение функции DRIVE_CDROM...
Впринципе всё...
Но вот их имена... Вы имеете ввиду буковки или имя данное производителем.... второе -см. Великий Сис. Реестр.


Наверх

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