在 C# 中禁用 USB 端口访问智能手机内存(无组策略)
Posted
技术标签:
【中文标题】在 C# 中禁用 USB 端口访问智能手机内存(无组策略)【英文标题】:Disable USB port from access smart-phone memory (without Group policy) in C# 【发布时间】:2020-06-27 07:16:25 【问题描述】:您好,我目前正在开发一个应用程序以在 C# 中以编程方式禁用/启用 USB 端口
我找到了以下代码 sn-p 来启用/禁用 USB 端口。使用普通的 USB 记忆棒可以正常工作。但不幸的是它并没有禁用智能手机的存储卡访问。
//disable USB storage...
Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 4, Microsoft.Win32.RegistryValueKind.DWord);
//enable USB storage...
Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 3, Microsoft.Win32.RegistryValueKind.DWord);
我已经用谷歌搜索了一个更好的解决方案来解决这个问题。我发现了一些使用组策略来实现相同目的的建议。但我的应用程序无意使用组策略。那么是否有任何解决方案可用,例如 编辑任何注册表项 以在 c# 中以编程方式实现智能手机的内存访问限制?
【问题讨论】:
看来您需要重新启动。看看这里。 ***.com/questions/20478042/… 【参考方案1】:我可以通过更改注册表值来解决这个问题。详情如下,
对于禁止 USB 端口访问智能手机内存和记忆棒:
在注册表键 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ 中使用 值 00000001 创建了 DWORD 参数 Deny_All可移动存储设备。
对于允许访问:
在注册表键 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ 中使用 值 00000000 创建了 DWORD 参数 Deny_All可移动存储设备。
注意:- 要更改访问权限,我们必须重启电脑
C#代码片段如下,
对于允许访问:
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices", "Deny_All", 0, RegistryValueKind.DWord);
限制访问:
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices", "Deny_All", 1, RegistryValueKind.DWord);
【讨论】:
以上是关于在 C# 中禁用 USB 端口访问智能手机内存(无组策略)的主要内容,如果未能解决你的问题,请参考以下文章