Fórum Interceptar o CD-ROM #230543

06/05/2004

0

alguém sabe como Interceptar a chamada ao CD-ROM. Ex.: quando o usuário inserir o CD-Rom o programa avisar.


Einstein

Einstein

Responder

Posts

07/05/2004

Nerdex

Deves trabalhar com MCI (multimídia control devices), enviando e/ou recebendo os comandos específicos para o caso...

ex: para abrir a gaveta do CD-Rom:
uses MMSystem;
MciSendString(´Set cdaudio door open´, nil, 0, handle);

Existem dezenas de comandos (Multimedia Command Strings), para diversos devices, como: CDRom, VCR, DVD, DAT.....

Abaixo o link com todos as string de comando para os drivers multimídia, compatíveis com os SOs Windows:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_multimedia_command_strings.asp


Responder

Gostei + 0

07/05/2004

Cebikyn

Ou se preferir pode usar o código abaixo:

type
  TForm1 = class(TForm)
  {...}
  private
    {...}
    procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
  public

  end;

{...}

implementation

{$R *.DFM}

procedure TForm1.WMDeviceChange(var Msg: TMessage);
const
  DBT_DEVICEARRIVAL = $8000;
  DBT_DEVICEREMOVECOMPLETE = $8004;
var
  Mensagem: string;
begin
  inherited;
  case Msg.wParam of
    DBT_DEVICEARRIVAL: Mensagem  := ´Foi inserido um CD!´;
    DBT_DEVICEREMOVECOMPLETE: Mensagem := ´O CD foi removido!´;
  end;
  ShowMessage(Mensagem);
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar