zoukankan      html  css  js  c++  java
  • 注册表添加NoDrives隐藏盘符(禁用U盘)参数说明

             关于禁用USB接口,有一种方法是在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer位置新建键“NoDrives”,类型是REG_DWORD,通过设置其值,隐藏某个驱动器盘符;再新建一个键“NoViewOnDrive”,类型也是REG_DWORD,通过设置其值,禁止访问某个驱动器。    

             这些应该很好理解,U盘也是驱动器,当然可以禁用。可是问题就出在“通过设置其值”,如何设置?

             关于如何设置,网上有“详细”说明,可是说的太晦涩,估计大家抄来抄去,自己也不知道是什么意思,就在网上发教程了,导致看教程的人不是算法出错,就是完全不懂。俺就是深受其害,最后没办法直接去MSDN看英文资料,才弄懂是怎么回事。

             废话说了这么多,进入正题。

             参数规则:注册表中,键的类型REG_DWORD,表示32位无符号数,如果用二进制表示,从低位到高位(也就是从右到左),依次表示ABCDEFGHJIKLMNOPQRSTUVWXYZ,如果想禁用哪个驱动器,直接把对应位写成1,不禁用就写0。对应关系如下:


             上图所示的写法禁用了所有驱动器。

             假如只保留A、C、D盘,其他全部禁用,写成如下形式:



             从图中可以看出,我们实际上是对照字母顺序构造了一个二进制表示,把这个二进制表示转换成十六进制表示,存入“NoDrives”键和“NoViewOnDrive”键就可以了,这样一来禁用的驱动器即无法显示也无法访问。


  • 相关阅读:
    uboot的仓库在哪里?
    git如何查看执行过的历史git命令
    for(;;)和while(true)的区别
    CountDownLatch的理解和使用
    countDownLatch
    websocket @ServerEndpoint(value = "/websocket/{ip}")详解
    Java原子性操作之——Atomic包的原理分析
    CAS原理
    java线程池ThreadPoolExecutor的keepAliveTime=0时,表示超过core线程数的线程在空闲时立即结束!!!
    ThreadPoolExecutor 线程池Demo
  • 原文地址:https://www.cnblogs.com/iyangyuan/p/2801801.html
Copyright © 2011-2022 走看看