我想在程序中捕获光盘插入事件,代码如下:private
   procedure GetCDMsg(var msg: TMessage); message WM_DEVICECHANGE;implementationprocedure TForm1.GetCDMsg(var msg: TMessage);
begin
  ShowMessage('');
end;结果发现不管怎样打开、关闭光驱,就是不触发这个事件,为什么啊?郁闷啊

解决方案 »

  1.   

    private
       procedure GetCDMsg(var msg: TMessage); message WM_DEVICECHANGE;implementationprocedure TForm1.GetCDMsg(var msg: TMessage);
    begin//应该漏了判断,具体消息我不知,但我想应加这句:)if(msg=打开光驱)
      ShowMessage('');
    end;
      

  2.   

    http://community.csdn.net/Expert/topic/4134/4134295.xml?temp=.3634302
    兄弟给你了,你能把握的代码转delphi就可以用,实在不行在说话。