如题,望高手救援……

解决方案 »

  1.   

    VB6比较难吧,没有使用过相关API,控制COM还是比较简单
      

  2.   

    没有搞过,但是在VB里面调用API函数可以应该可以实现把USB接口禁掉。
      

  3.   

    '屏蔽掉除C,D,E,F,光盘以外的所有盘.
    '函数声明及常量说明
    Private Const HKEY_CURRENT_USER = &H80000001
    Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA"_ (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA"_ (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal_ dwType As Long, lpData As Any, ByVal cbData As Long) As Long
    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
    Private Sub Form_Load()
    '自定义注册表
    SaveStringWORD HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\_
    Policies\Explorer", "NoDrives", &H1  '在注册表的Explorer下新建项"NoDrives",将其值设为你想要的,即把1改为屏蔽的值.
    End Sub
    '自定义写入注册表
    Private Sub SaveStringWORD(hKey As Long, strpath As String, strvalue As String,_ strdata As String)
      On Error Resume Next
      Dim Ret As Long '定义一个空白的不可省略的注册表参数变量
      Dim REG_DWORD
      RegCreateKey hKey, strpath, Ret         '创建一个空键值
      RegSetValueEx Ret, strvalue, 0, &H4, CLng(strdata), 4 '设置键项
      RegCloseKey Ret   '关闭此键
    End Sub
    相应的注册表知识:
    在右窗格内新建一个二进制串值“Nodrives”,缺省值是00000000,表示不隐藏任何驱动器。键值由4个字节组成,每个字节的每一位(bit)对应从A:到Z:的一个盘,当相应位为1时,“我的电脑”中的相应驱动器就被隐藏了。第一个字节代表从A到H的8个盘,即01为A、02为B、04为C……依此类推,第二个字节代表I到P;第三个字节代表Q到X;第四个字节代表Y和Z。
    若要关闭C盘,将键值改为04000000;要关闭D盘,改为08000000。
    根据分析,驱动器A~Z的值依次为2的0至25次方,把要禁止的驱动器的值相加,再转换为十六进制,就是NoDrives的键值了。如要禁止A、D、E,则此键值应为1+8+16=25,转换为十六进制数为19,修改“NoDrives”的键值为“19 00 00 00”即可