要在delphi程式中控制cd-rom的彈出和關閉,可以利用mmsystem.pas單元的mci(media control inte***ce)函式。有2個函式可以達到同樣的效果。乙個是mcisendcommand函式,另乙個是mcisendstring函式。下面分別用這2個函式寫的opencddrive函式。
1、使用mcisendcommand:
functionopencddrive(isopen:boolean;drivename:
char=#
0):boolean;
varop:tmci_open_parms;
flags:longword;
begin
fillchar(op,sizeof(tmci_open_parms),0);
op.lpstrdevicetype:
=pchar(mci_devtype_cd_audio);
flags:
=mci_open_typeormci_open_type_id;
ifdrivename
<>#0
then
begin
op.lpstrelementname:
=pchar(drivename+'
:');
flags:
=flagsormci_open_element;
end;
result:
=mcisendcommand(
0,mci_open,flags,longword(@op))=0
;ifnotresultthenexit;
ifisopenthen
mcisendcommand(op.wdeviceid,mci_set,mci_set_door_open,0)
else
mcisendcommand(op.wdeviceid,mci_set,mci_set_door_closed,0);
mcisendcommand(op.wdeviceid,mci_close,mci_wait,0);
end;
2、使用mcisendstring:
functionopencddrive(isopen:boolean;drivename:
char=#
0):boolean;
vars:
string
;begin
ifisopenthens:='
open
'elses:=
'closed';
ifdrivename=#
0then
result:
=mcisendstring(pchar(
'setcdaudiodoor'+
s),nil,0,
0)=0
else
begin
result:
=mcisendstring(pchar(
'open'+
drivename+'
:typecdaudioaliascdrom
'),nil,0,
0)=0
; ifresult then
begin
mcisendstring(pchar(
'setcdromdoor'+
s),nil,0,
0);mcisendstring(
'closecdrom
',nil,0,
0);end;
end;
end;
opencddrive函式有2個引數,isopen為true彈出cd-rom,false關閉rd_rom;drivename為cd-rom驅動器名稱,預設為#0。返回true成功,否則失敗。
開啟和關閉預設cd-rom,即第乙個cd-rom驅動器可以分別用:
opencddrive(true);和opencddrive(false);
使用cd-rom驅動器名稱呼叫可以分別為(假設cd-rom驅動器名稱為「f:」):
opencddrive(true, 'f');和opencddrive(false, 'f');
如有錯誤請指正:[email protected]
Delphi程式中彈出和關閉CD ROM
要在delphi程式中控制cd rom的彈出和關閉,可以利用mmsystem.pas單元的mci media control inte ce 函式。有2個函式可以達到同樣的效果。乙個是mcisendcommand函式,另乙個是mcisendstring函式。下面分別用這2個函式寫的opencddri...
在Service中彈出Toast和Dialog
眾所周知,toast必須在ui主線程上才能正常顯示,而在service中是無法獲得acivity的context的,在service中想顯示出toast只需將show的訊息傳送給主線程looper就可以了 handler handler new handler looper.getmainloope...
在MFC程式中彈出命令列視窗除錯
這就是在mfc程式中彈出命令列視窗除錯。1 include 2 在需要開啟控制台視窗的地方呼叫 allocconsole 注意檢查返回值 3 freopen conout w stdout 這句話不管是否有中文出現都要加進去,否則會出現不顯示情況 4 在需要輸出除錯的時候呼叫 cprintf等函式 ...