Delphi程式中彈出和關閉CD ROM

2021-08-22 10:50:49 字數 2081 閱讀 3630

要在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等函式 ...