Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# usb大容量存储的写入权限_C#_Windows_Visual Studio 2010_Winapi_Usb - Fatal编程技术网

C# usb大容量存储的写入权限

C# usb大容量存储的写入权限,c#,windows,visual-studio-2010,winapi,usb,C#,Windows,Visual Studio 2010,Winapi,Usb,我想使usb磁盘具有写保护,我发现这样做是一种解决方案: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies] "WriteProtect"=dword:00000001 但这对我来说有两个缺点: 它在已经安装的usb磁盘上不起作用,如果安装是在修改注册表之前进行的,那么如果我再次删除并添加该磁盘或任何其他磁盘,它就会起作用 这适用于所有usb端口 那么,我要做的是: 在windows服务中获取设

我想使usb磁盘具有写保护,我发现这样做是一种解决方案:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000001
但这对我来说有两个缺点:

  • 它在已经安装的usb磁盘上不起作用,如果安装是在修改注册表之前进行的,那么如果我再次删除并添加该磁盘或任何其他磁盘,它就会起作用

  • 这适用于所有usb端口

  • 那么,我要做的是:

  • 在windows服务中获取设备到达事件后,立即根据序列号(在windows服务中获取)对usb磁盘进行写保护。我不想重新插入U盘使其工作

  • 有可能限制特定usb磁盘的这种行为吗?我的意思是,如果我有需要写保护的usb盘nr1和不需要写保护的usb盘nr2,我可以同时将它们安装在我的pc上,并具有所需的写/读权限吗


  • 顺便说一下,我想在C#中执行此操作,我正在Windows 7上工作。

    不知道这有多有效,但您能在软件中强制弹出并重新安装吗