![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить буквы 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