Вниз
Скачать: CL | DM;

Как програмно узнать открыт CD-ROM или закрыт   Найти похожие ветки 

← →
random ©   (2004-04-07 08:34) [0]

Скажите, как програмно узнать открыт CD-ROM или закрыт? Желательно с примером. (И укажите что там uses). Заранее благодарен.


← →
(AD)acid ©   (2004-04-15 12:17) [1]

Есть функция GetDriveInformation или что-то в этом роде
она возвращает кроме остальных параметров и файловую систеиу
диска анализируй её

тип устройства можно узнать функцией GetDriveType

это я где-то в Faq видел и сам проверял

Смотри SDK GetDrive*


← →
ssk   (2004-04-15 12:40) [2]

никак


← →
Wiz@rd ©   (2004-04-15 18:00) [3]

Если тебе нужно знать открыть щас стдюк или закрыть - то пробуй так - если не открыть значит закрыть и наборот - по-моему mciSendCommand возвращает что-то если не удалось выполнить команду или пиши свой дров - хотя вряд ли поможет - cd-rom по-моему не даёт информацию о состоянии лотка


← →
maxz ©   (2004-04-16 15:08) [4]

Можно отслеживать открытие/закрытие сидюка:

type
 TForm1 = class(TForm)
   Button1: TButton;
 private
   { Private declarations }
   procedure WMDeviceChange(var Message: TMessage);
     message WM_DEVICECHANGE;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

const DBT_DEVICEARRIVAL = $8000;
const DBT_DEVICEQUERYREMOVE = $8001;
const DBT_DEVICEQUERYREMOVEFAILED = $8002;
const DBT_DEVICEREMOVEPENDING = $8003;
const DBT_DEVICEREMOVECOMPLETE = $8004;
const DBT_DEVICETYPESPECIFIC = $8005;
const DBT_CONFIGCHANGED = $0018;

procedure TForm1.WMDeviceChange(var Message: TMessage);
var
 s : string;
begin
{Do Something here}
 case Message.wParam of
   DBT_DEVICEARRIVAL :
     s := "A device has been inserted and is now available";
   DBT_DEVICEQUERYREMOVE: begin
     s := "Permission to remove a device is requested";
     ShowMessage(s);
    {True grants premission}
     Message.Result := integer(true);
     exit;
   end;
   DBT_DEVICEQUERYREMOVEFAILED :
     s := "Request to remove a device has been canceled";
   DBT_DEVICEREMOVEPENDING :
     s := "Device is about to be removed";
   DBT_DEVICEREMOVECOMPLETE :
     s := "Device has been removed";
   DBT_DEVICETYPESPECIFIC :
     s := "Device-specific event";
   DBT_CONFIGCHANGED :
     s:= "Current configuration has changed"
   else s := "Unknown Device Message";
 end;
 ShowMessage(s);
 inherited;
end;


← →
ssk   (2004-04-16 15:50) [5]

>maxz

это при наличии диска в приводе. а без диска?


← →
juiceman ©   (2004-04-17 03:52) [6]

Видел несколько похожих топов и все они сходились к "никак".


← →
juiceman ©   (2004-04-17 03:53) [7]

... и всегда мне было интересно "зачем это знать" ???



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1083851918
delphiman
2004-05-06 17:58
2004.05.23
DBGrig


8-1078786855
ПсихЪ
2004-03-09 02:00
2004.05.23
TDirectDrawSurface из DelphiX


1-1083738493
MaD
2004-05-05 10:28
2004.05.23
Как плавно менять цвет?


1-1083927840
NovyeVasyuki
2004-05-07 15:04
2004.05.23
Запускаю RAR через CreateProcess. Как свернуть окно MS-DOS ?


6-1080620551
de_ICER-T44
2004-03-30 08:22
2004.05.23
Вопрос к профессионалам Web-Snap




   Наверх