如何用程序控制光驱的开、关?
(注:一个机器有两个以上的光驱)
(注:一个机器有两个以上的光驱)
解决方案 »
- 缓存更新
- 往ACCESS添加一条记录时,除了添加要添加的记录,同时还会添加一条空记录,所有列都是空
- 怎么在我写的组件里监听其他组件的事件?
- 我只有10分了,有人能指点一下HOOK吗?非常感谢您!!!
- 大家给点思路!不用第三方控件如何实现换皮肤的功能,自己写
- 我用dbgrid的问题(着急的人给的分比较多啊:))
- delphi真的不能实现网页填表吗?我找了很久,还请高手们如何编写呢?
- delphi中有串口通讯的类吗????
- 去看看好吗?
- 把线程里的数据通过事件传给主程序时遇到问题,请指点
- 关于键盘钩子过滤函数,谁能解释他的几个参数?
- 请问我做的三层mts/com+,为什么服务端一定要装delphi才可以运行,如果不装delphi就不能用
mciSendString('Set cdaudio door open wait', nil, 0, handle);//关闭光驱mciSendString('Set cdaudio door closed wait', nil, 0, handle)
如果返回值为'0000-0000',则未检测到。function GetHDSerialNumber(Drv : String): String;varVolumeSerialNumber : DWORD;MaximumComponentLength : DWORD;FileSystemFlags : DWORD;beginif Drv[Length(Drv)] =':' then Drv := Drv + ';GetVolumeInformation(pChar(Drv),nil,0,@VolumeSerialNumber,MaximumComponentLength,FileSystemFlags,nil,0);Result := IntToHex(HiWord(VolumeSerialNumber), 4) +'-' +IntToHex(LoWord(VolumeSerialNumber), 4);end;
http://210.78.159.116:8080/dispdocnew.php?id=4079
uses MMSYSTEM;function OpenCd(handle: HWND; drive: String): Boolean; //打开
Var
Res : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+':';
Flags:=mci_Open_Type or mci_Open_Element;
With OpenParm do begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
IF Res=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;function CloseCd(handle: HWND; drive: String): Boolean; //关闭
Var
Res : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+':';
Flags:=mci_Open_Type or mci_Open_Element;
With OpenParm do begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
IF Res=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;