代码之家  ›  专栏  ›  技术社区  ›  Paul J. Lucas

自动播放和WIA是否可以通过编程重置为默认的“询问我?”?

  •  1
  • Paul J. Lucas  · 技术社区  · 15 年前

    我有代码,分别为从存储卡和数码相机读取图像文件的Autoplay和WIA处理程序提供广告,并且工作正常。

    但是,我希望在第一次运行应用程序时将自动播放和WIA处理程序重置为默认值“每次询问我要做什么”。为什么?因为如果用户将处理程序设置为其他类型,那么当他/她尝试使用我的应用程序时,他们的机器仍会执行其他类型的操作,然后他/她会向我投诉我的应用程序不工作,而事实上他们的机器只是遵守了他们以前的设置。

    那么,有没有办法通过编程重置Autoplay和WIA处理程序?我假设有一些API调用(最好是Win32和 .Net)或可修改的注册表设置。

    1 回复  |  直到 3 年前
        1
  •  0
  •   Josh Kelley    15 年前

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

    This MSDN article 有更多有关自动播放工作原理的详细信息。