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

有帮助吗?

解决方案

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

第二种方法需要插入一个实现 COM 接口的对象 IQueryCancelAutoPlay COM 接口进入运行对象表。

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top