在注册表中HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer下添加一个NoDrives的键
DWORD型四字节,一共32位,每一位代表一个驱动器,例如:
第一个字节A-H,01代表A,02代表B……,第二个字节I-P
第三个字节Q-X,第四个字节Y-Z,如果隐藏A盘,可以将键值
设为01000000,假如现在是0C 00 00 00,我知道是隐藏C盘和D
盘,但是我通过代码的方式如何根据一个简直判断隐藏了哪些
盘???谢谢!
ePing

解决方案 »

  1.   

    根据你描述的内容
    用 IntToHex 函数就可以搞定主要的问题
      

  2.   

    不知道用IntToHex怎样搞定,还有32位,每一位代表一个驱动器,
    如果要隐藏就将那一位设为1,如何在给定例如0C 00 00 00,就
    能够确定它的32位分别是什么???ePing
      

  3.   

    按照你的思路其实就是要实现
    十六进制到二进制的转换对么?
    贴一个转换函数供你参考:
    function HexToBin(Hexadecimal: string): string;
    const
      BCD: array [0..15] of string =
        ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',
        '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');
    var
      i: integer;
    begin
      for i := Length(Hexadecimal) downto 1 do
        Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;
    end;
      

  4.   

    谢谢ScoutKing我已经解决了,多谢了