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

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

Как получить буквы cd-приводов? [D6, Win95/98, Win2k, WinXP]


Vlad25 ©   (2004-02-22 19:58:00) 

Привет всем! Подскажите, пожалуйста, как получить буквы всех cd-приводов, которые имеются в системе?


Javlon   (2004-02-28 08:28:00) [1]

function GetCDdrives:string;
var
w:longword;
cdstr,Root:string;
i:integer;
begin
cdstr:='';
w:=GetLogicalDrives;
Root:='#:\';
for i:=0 to 30 do
begin
 Root[1] := Char(Ord('A')+i);
 if (W and (1 shl i))>0 then
 if GetDriveType(Pchar(Root)) = DRIVE_CDROM then
 begin
  cdstr:=cdstr+Root[1];
 end;
end;
Result:=cdstr;
end;


Anatoly Podgoretsky   (2004-02-23 10:20:00) [2]

Не надо объявлять - это уже объявлено в модуле windows.pas


Vlad25   (2004-02-23 10:17:00) [3]

А как пользоваться этой функцией? Я пишу:

uses....
function GetDriveType(lpRootPathName: PChar): UINT; external 'KERNEL32.DLL';
...
procedure TForm1.Button1Click(Sender: TObject);
begin
if GetDriveType(PChar('A:\'))=DRIVE_REMOVABLE then beep;
end;

Тут выскакивает ошибка, что файл project1.exe связан с отсутствующим компонентом в KERNEL32.DLL: GetDriveType (в WinAPI Help написано что функция находится в kernel32.dll)


Anatoly Podgoretsky   (2004-02-22 20:37:00) [4]

GetLogicalDriveStrings | GetDriverType


Наверх

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