首页  编辑  

自动运行的控制

Tags: /超级猛料/Hardware.硬件相关/驱动器相关/   Date Created:

我们知道CD-ROM等有自动运行的功能,用户也可以利用Shift来切换是否自动运行,那么如何用程序来动态控制是否自动运行呢?当然,这个不需要修改注册表,修改注册表的方法是永久性的,我们也许只要临时性的,那么可以采取下面的方法:

利用'QueryCancelAutoPlay' 消息即可。

http://www.chami.com/tips/delphi/122896D.html

首先采取下面的步骤:

MsgID_QueryCancelAutoPlay := RegisterWindowMessage('QueryCancelAutoPlay' );

注册QueryCancelAutoPlay消息,然后我们的程序必须处理这个消息:

修改窗体的WndProc:

MsgID_QueryCancelAutoPlay : Word;

   

procedure

 WndProc( var Msg : TMessage );

   override;

procedure TForm1.

 WndProc( var Msg : TMessage );

begin

 if( MsgID_QueryCancelAutoPlay

     = Msg.Msg )then

 begin

   // set Msg.Result

   //   to 1 to stop AutoPlay or

   //   to 0 to continue with AutoPlay

   Msg.Result := 1;

 end else

   inherited WndProc( Msg );

end;