我们知道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;