设置 > 设备 > 自动播放 > “可移动驱动器” 的注册表位置在哪里

设置 > 设备 > 自动播放 > “可移动驱动器” 的注册表位置在哪里

该选项的注册表位置在哪里(大概在 HKEY_CURRENT_USER 下),因为该设置是特定于用户的Settings > Devices > AutoPlay > "Removable drive"

Windows 设置设备自动播放选项

用户可以选择:

  • 不采取行动
  • 打开文件夹查看文件(文件资源管理器)//默认设置
  • 导入照片和视频(Dropbox)
  • 每次都问我
  • 配置存储设置(设置)

如果设置不是注册表,那么它在哪里?基本上,我想以编程方式配置此选项。我在这里提问的原因是我已经知道如何使用注册表和文件系统。我只需要知道在哪里,因此更像是一个超级用户问题。是的,我的第一个想法是在 Stack Overflow 上发帖,但我不是在问编程问题,尽管我会使用 C# 进行编程,因为我知道那部分。我被困在物理位置上。

管理员(或用户)可以启用/禁用自动播放策略的另一个区域是gpedit.msc。基本上,运行(Windows 键 + R)gpedit.msc以启动Local Group Policy Editor。从那里,选择

本地计算机策略 > 用户配置 > 管理模板 > Windows 组件 > 自动播放策略

gpedit.msc 显示自动播放策略

这种方法似乎更复杂,但是一种可能性。不过,我需要知道这个设置的物理位置(我猜注册表也是)。

我希望能够以编程方式(因此是“在哪里”)暂时禁用启动文件资源管理器或对驱动器(USB,SATA等)执行任何其他操作,然后在我的任务完成后将设置恢复为原始值。

为了完善所有用户可以设置自动播放设置的区域,传统方法Control Panel是第三种方式。我正在研究我的问题并遇到了这种方式。用户将转到Windows Control Panel并从类别下拉列表中选择按小图标查看,然后选择自动播放。我已经通过测试发现,在“设置”中设置值会自动更新控制面板区域。这意味着两者都从同一位置动态读取,我假设这是注册表。

Windows 控制面板自动播放设置

更新:

我看见本文,其中说明了以下项中的注册表项NoDriveTypeAutoRun,但这对我所有最新更新的系统没有影响Windows 10 Professional X64。我在“设置”中更改了该值并刷新了注册表,但没有看到任何变化。

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explore

更新2

我发现本文关于如何通过编程禁用自动播放。本文虽然是编程主题,但确实回答了我的问题,即我上面提到的注册表设置只有在重新启动 Windows 资源管理器(注销然后重新打开)后才会生效。

本文确实需要重新启动 Explorer,但肯定有解决办法,因为在控制面板自动播放或设置/设备/自动播放区域中选择新选项是立即的,无需重新启动 Explorer。因此,有一个解决方案。

也许解决方案是在两个地方写入:HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER。无论设置在后台做什么都是我希望做的,只是我不知道 Microsoft 小程序会做什么。

回答:

根据接受的答案所揭示的方法,我得到了这两个注册表值。

Open Folder                     
39:21.9 SystemSettings.exe  13908   RegSetValue HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\UserChosenExecuteHandlers\StorageOnArrival\(Default)   SUCCESS Type: REG_SZ, Length: 26, Data: MSOpenFolder
    MSOpenFolder                    
39:21.9 SystemSettings.exe  13908   RegSetValue HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival\(Default)   SUCCESS Type: REG_SZ, Length: 26, Data: MSOpenFolder
    MSOpenFolder                    

Take No Action                      
41:43.7 SystemSettings.exe  13908   RegSetValue HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\UserChosenExecuteHandlers\StorageOnArrival\(Default)   SUCCESS Type: REG_SZ, Length: 30, Data: MSTakeNoAction
    MSTakeNoAction                  
41:43.7 SystemSettings.exe  13908   RegSetValue HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival\(Default)   SUCCESS Type: REG_SZ, Length: 30, Data: MSTakeNoAction
    MSTakeNoAction                  

答案1

设置 > 设备 > 自动播放 > “可移动驱动器”选项的注册表位置在哪里?

总结:注册表位置为:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers 
  • 如何查找注册表更改?这里我使用进程监控监视注册表更改。以管理员身份运行进程监视器(又名 ProcMon)→按Ctrl+L打开筛选器对话框→选择筛选器选项“操作 --- 是 --- RegSetValue --- 然后 --- 包括”→ 然后添加按钮 → 确定。截图如下:

ProcMon_RegSet值

  • 注册表设置如下所列。此格式为 Windows 注册表文件:
Windows Registry Editor Version 5.00

;Disable AutoPlay
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers]
"DisableAutoplay"=dword:1

;Take No Action
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\CameraAlternate\ShowPicturesOnArrival]
@="MSTakeNoAction"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival]
@="MSTakeNoAction"

;Open folder to view files (File Explorer)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\CameraAlternate\ShowPicturesOnArrival]
@="MSOpenFolder"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival]
@="MSOpenFolder"

;Ask me every time
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\CameraAlternate\ShowPicturesOnArrival]
@="MSPromptEachTime"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival]
@="MSPromptEachTime"

;Configure storage settings (Settings)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\CameraAlternate\ShowPicturesOnArrival]
@="MSStorageSense"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlersDefaultSelection\StorageOnArrival]
@="MSStorageSense"

这些注册表设置可以在 C/C++ 中轻松转换RegSetValue()或者用 C#RegistryKey.SetValue Method。Dropbox 选项由该程序本身处理。使用上面的 ProcMon 查找这些注册表。查看更多详细信息本文

相关内容