代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  ReturnString : pChar;
begin
  ReturnString := '驱动器打开错误!';
  mciSendString('Set CDAudio door Open',ReturnString,127,0);
  Label1.Caption := ReturnString;
end;光驱能够弹出,但弹出后报以下错误:
Access Violation at address 77F86319 in module 'ntdll.dll' Write of 
address 0045903C

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ReturnString : pChar;
    begin
    //  ReturnString := '驱动器打开错误!';
      GetMem(ReturnString, 200);
      mciSendString('Set CDAudio door Open',ReturnString,127,0);
      Label1.Caption := ReturnString;
      FreeMem(ReturnString);
    end;==================================================
    呵呵:)
    我在测试CSDN的总分统计是否有BUG
    楼主能否尽快结帐!!给我1分:)
      

  2.   

    楼上的好像不行,mciSendString()这是什么用的啊?
      

  3.   

    CoolSlob(多为生计着想ing) :
        你的代码已经试过,没有问题,我还想再看看其它的有没有更好的办法?:)
      

  4.   

    CoolSlob(多为生计着想ing)兄回答的完全正确,mciSendString()中的lpszReturnString参数给的缓冲不够。
      

  5.   

    学习,怎么获得commandstring 啊?