1

我有代码广告自动播放和 WIA 处理程序分别从存储卡和数码相机读取图像文件,它工作正常。

但是,我想在我的应用程序第一次运行时将自动播放和 WIA 处理程序重置为“每次询问我要做什么”的默认值。为什么?因为如果用户将处理程序设置为其他内容,那么当他/她尝试使用我的应用程序时,他们的机器仍会执行其他操作,然后他/她会向我抱怨我的应用程序实际上无法运行机器只是尊重他们以前的设置。

那么有没有办法以编程方式重置自动播放和 WIA 处理程序?我假设有一些 API 调用(最好是 Win32 而不是.Net)或可以修改的注册表设置。

4

1 回答 1

0

看起来每个用户的自动播放首选项(对应于 Windows Vista 和 7 中的自动播放控制面板)保存在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\UserChosenExecuteHandlers 下。每个类别的自动播放设备或媒体类型都有一个子键;将子项的默认值更改为 MSPromptEachTime 应该会恢复“每次询问我要做什么”行为。(虽然自动播放控制面板是 Vista 和 7 的新功能,但 XP 中存在相同的注册表项,对于基于音量的自动播放,我认为它们的工作方式相同。)

这篇 MSDN 文章详细介绍了自动播放的工作原理。

于 2009-12-15T14:40:22.870 回答