您好,我目前正在使用C#以编程方式禁用/启用USB端口的应用程序
我已经找到以下代码段来启用/禁用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);
我已经在Google上寻求更好的解决方案来解决此问题。我发现了一些建议使用组策略来实现相同的目的。但是我的应用程序并不打算使用组策略。因此,是否有任何可用的解决方案,例如编辑任何注册表项,可通过c#以编程方式实现智能手机的内存访问限制?]
我可以通过更改注册表值来解决此问题。详细信息如下,
对于从访问智能手机存储器和记忆棒中禁用USB端口:
在注册表键HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ RemovableStorageDevices中用value 00000001创建了DWORD参数Deny_All。
对于允许访问:
在注册表键HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ RemovableStorageDevices
中用value 00000000创建了DWORD参数Deny_All。注意:-要更改访问权限,我们必须重新启动PC
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);