如何从应用程序拦截和取消自动播放?

时间:2008-08-14 22:29:58

标签: windows disk

我正在开发一个应用程序来安装来自多个DVD的大量数据文件。应用程序将提示用户插入下一个磁盘,但Windows将自动尝试在资源管理器窗口中打开该磁盘或询问用户如何处理新磁盘。
如何从我的应用程序中拦截和取消自动播放消息?

2 个答案:

答案 0 :(得分:3)

我知道有两种方法。第一个也是最简单的是注册特殊的Windows消息“QueryCancelAutoPlay”,并在处理消息时简单地返回1。这仅适用于当前窗口,而不适用于后台应用程序。

第二种方法需要将实现COM接口IQueryCancelAutoPlay COM接口的对象插入到运行对象表中。

答案 1 :(得分:0)

或者,您可以通过编程方式保存当前的自动播放状态,并在程序启动时将其关闭,然后在程序关闭时恢复原始状态。这会简单得多。查看the NoDriveTypeAutoRun key