如何拦截和取消应用程序的自动播放?
时间:2020-03-05 18:39:46 来源:igfitidea点击:
我正在开发一个应用程序,用于从多个DVD安装大量数据文件。该应用程序将提示用户插入下一个磁盘,但是Windows将自动尝试在浏览器窗口中打开该磁盘,或者询问用户如何使用新磁盘。
如何拦截和取消应用程序中的自动播放消息?
解决方案
回答
我知道两种方法。第一种也是最简单的方法是注册特殊的Windows消息" QueryCancelAutoPlay",并在处理该消息时简单地返回1. 这仅适用于当前窗口,而不适用于后台应用程序。
第二种方法需要在运行对象表中插入一个实现COM接口IQueryCancelAutoPlay COM接口的对象。
回答
或者,我们可以以编程方式保存自动播放的当前状态,并在程序启动时将其关闭,然后在程序关闭时恢复其原始状态。这会简单得多。签出NoDriveTypeAutoRun键。