现在如果有E盘,我想把它隐藏起来,就是在“我的电脑”里不能看见这个分区,但是它实际上还是存在的,同时我也要可以对E盘里的一些文件啊目录什么的进行操作,可以吗?
解决方案 »
- 帮忙进来看看我的程序好吗,vb串口modbus协议通讯采集仪表流量?举例说明:上位机发送读取指令55h,仪表返回十六进制数格式数据AA 0000 0123 4567 BC
- 图像处理算法
- 请问如何中途退出函数或循环?
- 怎样获取大于128以后的ASCII码对应的字符
- 如何利用winsocke取得指定网站内容html?
- 狂散分,大家来拿
- 如何让Combox实现和IE输入栏一样的功能,急,在线等~~(没人回答只有多送分了)
- 请助~Help~~
- 请教:用VB在Word中创建一个表格后,如何控制其格式?
- 请问沦浪客大哥在何处可以找到DTPicker控件
- 象Word中,上部的工具条,用鼠标可以托走,也可以托到顶部,怎么实现
- 请尽快回复,多谢!
新建键值NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).盘符 A B C D E F G H (八位分别对应八个字母(盘符)
数值 01000000 02000000 04000000 08000000 10000000 20000000 40000000 80000000
盘符 I J K L M N O P
数值 00010000 00020000 00040000 00080000 00100000 00200000 00400000 00800000
盘符 Q R S T U V W X
数值 00000100 00000200 00000400 00000800 00001000 00002000 00004000 00008000
盘符 Y Z
数值 00000001 00000002
新建键值NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).盘符 A B C D E F G H (八位分别对应八个字母(盘符)
数值 01000000 02000000 04000000 08000000 10000000 20000000 40000000 80000000
盘符 I J K L M N O P
数值 00010000 00020000 00040000 00080000 00100000 00200000 00400000 00800000
盘符 Q R S T U V W X
数值 00000100 00000200 00000400 00000800 00001000 00002000 00004000 00008000
盘符 Y Z
数值 00000001 00000002
========================================================
同意,也可以写成DWORLD型
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 RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData 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 RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function PaintDesktop Lib "user32" (ByVal hdc As Long) As LongConst ERROR_SUCCESS = 0&
Const ERROR_BADDB = 1009&
Const ERROR_BADKEY = 1010&
Const ERROR_CANTOPEN = 1011&
Const ERROR_CANTREAD = 1012&
Const ERROR_CANTWRITE = 1013&
Const ERROR_REGISTRY_RECOVERED = 1014&
Const ERROR_REGISTRY_CORRUPT = 1015&
Const ERROR_REGISTRY_IO_FAILED = 1016&
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_SZ = 1
Private Sub Command1_Click()
Dim retvalue As Long, result As Long
Dim KeyID As Long, keyvalue As Long
Dim subKey As String
Dim bufSize As Long
Dim regkey As String
Dim abc As Long
Dim a1 As Long
Dim hCurKey As Long
Dim lRegResult As Long
Dim s As String
Dim a As String
'check1代表a盘,.......check8代表h
If Check1.Value = 1 Then
Check1.Tag = 1
Else
Check1.Tag = 0
End IfIf Check2.Value = 1 Then
Check2.Tag = 2
Else
Check2.Tag = 0
End If
If Check3.Value = 1 Then
Check3.Tag = 4
Else
Check3.Tag = 0
End IfIf Check4.Value = 1 Then
Check4.Tag = 8
Else
Check4.Tag = 0
End If
If Check5.Value = 1 Then
Check5.Tag = 16
Else
Check5.Tag = 0
End IfIf Check6.Value = 1 Then
Check6.Tag = 32
Else
Check6.Tag = 0
End If
If Check7.Value = 1 Then
Check7.Tag = 64
Else
Check7.Tag = 0
End Ifa1 = CLng(Check1.Tag) + CLng(Check2.Tag) + CLng(Check3.Tag) _
+ CLng(Check4.Tag) + CLng(Check5.Tag) + CLng(Check6.Tag) + _
CLng(Check7.Tag)
If a1 = 0 Then
s = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
a = "NoDrives"
lRegResult = RegOpenKey(HKEY_CURRENT_USER, s, hCurKey)
lRegResult = RegDeleteValue(hCurKey, a)
lRegResult = RegCloseKey(hCurKey)
Else
If a1 <> 0 Then
regkey = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
retvalue = RegCreateKey(HKEY_CURRENT_USER, regkey, KeyID)
subKey = "NoDrives"
keyvalue = a1
retvalue = RegSetValueEx(KeyID, subKey, 0&, 4, keyvalue, 4)
End If
End If
End SubPrivate Sub Command2_Click()
Dim retvalue As Long, result As Long
Dim KeyID As Long, keyvalue As Long
Dim subKey As String
Dim bufSize As Long
Dim regkey As String
Dim abc As Long
Dim a1 As Long
Dim hCurKey As Long
Dim lRegResult As Long
Dim s As String
Dim a As String
s = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
a = "NoDrives"
lRegResult = RegOpenKey(HKEY_CURRENT_USER, s, hCurKey)
lRegResult = RegDeleteValue(hCurKey, a)
lRegResult = RegCloseKey(hCurKey)
End Sub
我希望不重启就实现,可以吗?
修改注册表
Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下
NoDrives值
i)可以通过修改注册表来隐藏硬盘(光驱)。开始-运行-regedit-进入注册表,在主键HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下建立键值“NoDrives”,16进制数缺省时是00000000。改成10进制数,如果你要隐藏C盘,就把00000000改为4;隐藏D盘,就改为8;隐藏C、D盘,就改为12。依次类推。删除“NoDrives”后就可以恢复所有驱动器的正常显示。(原来的方法到这里就要重启了,我们这里先不重启,继续下面的操作)ii) 第一步,进入注册表(运行regedit),将HKEY_LOCAL_MACHINE主键下子键Software/Microsoft/Windows/CurrentVerssion/explorer/Advanced/Folder/Hidden/SHOWALL下的值CheckedValue改为0。
第二步,查看(工具)-文件夹选项-查看-选中“显示所有文件”。
这样就无法看隐藏属性的文件夹了。只能在地址栏中输入完整的路径进入该文件夹。上述i)ii)步结合起来就可以实现隐藏分区了,但是其中ii)第二步不知道如何编程实现。请各位大侠帮帮忙看看吧,谢谢拉~~~
^_^
新建键值NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).盘符 A B C D E F G H (八位分别对应八个字母(盘符)
数值 01000000 02000000 04000000 08000000 10000000 20000000 40000000 80000000
盘符 I J K L M N O P
数值 00010000 00020000 00040000 00080000 00100000 00200000 00400000 00800000
盘符 Q R S T U V W X
数值 00000100 00000200 00000400 00000800 00001000 00002000 00004000 00008000
盘符 Y Z
数值 00000001 00000002
,
再使用VB来操作注册表即可。
我现在就是想不重启,还能隐藏分区,这有什么办法吗?要全自动哦