windows隐藏分区盘符

32位 win7,4G内存只识别到3.25, 于是用 RamDisk 把剩余的内存虚拟为磁盘, 以充分利用资源.

虚拟完后 资源管理器多了这个没什么用的分区图标. 于是搜索了下 win 隐藏分区,找到了利用注册表隐藏盘符的方法:


win7隐藏硬盘分区--与删除盘符不同,只不显示,照常能访问




前三条可以这样做,
1、打开注册表(开始-运行-regedit)。
2、打开路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ 。
3、新建键值(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

把这些值看成四区 00 00 00 00

第一区控制盘符a-h,第二区控制盘符i-p,第三区控制盘符q-x,第四区控制y和z盘符
一直下去都是以倍数关系的,如:A盘为01,B盘则为02,再下去就是C盘02*2=04了,到D盘08, E盘08*2为16,进一位就写成E盘10,再下去F盘10*2=20.......
所有数为“16进制”计算。
要隐藏二个分区那就把数值相加, 如:同时隐藏A盘和F盘,
数值为01000000+20000000=21000000,
如果要隐藏这个区的全部盘要写成FF(十六进制最后位)
再下去的盘都一样计算
如果写成DWORD值的,就要反一下了,四个区相反就可以了。
如:A盘要写成00000001,I盘要写成00000100。
说明:运行后请注销或者重启才能生效。

第四条 同楼上、可以设置用户权限...

 

手动配置不算方便,于是写了段 vbs实现:


'VBS隐藏盘符	yurenchen 2012/2/7
Dim a,tmp,WS,K
Set WS=CreateObject("Wscript.Shell")
K="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives"

a=InputBox(" 只从资源管理器中隐藏,文件仍能正常访问." & vbCrLf & vbCrLf & vbCrLf & " 请输入要隐藏的盘符:" & vbCrLf & vbCrLf & "    (如cde,留空将全显,取消不做更改)"& vbCrLf ,"VBS隐藏盘符	                        yurenchen")
tmp=0
If a <> false Then
	a=UCase(a)
	'WScript.Echo a
	'WScript.Echo Len(a)
	For i=1 To Len(a)
		x=Mid(a,i,1)
		'WScript.Echo i & " " & x & " " & 2^(Asc(x)-65)
		tmp = tmp + 2^(Asc(x)-65)
		
	Next
	'WScript.Echo tmp
	WS.RegWrite K,tmp,"REG_DWORD"
	WS.Run "tskill explorer",0,False
'Else
	'WScript.Echo "quit"
End If

 

保存为 *.vbs, 直接运行输入要隐藏的盘符即可.

 

其实 Windows 自带设置功能, 组策略实现. (测试环境:Win7)

快捷键Win+R , 输入 gpedit.msc 回车,启动 组策略编辑器 , 找到

 

    用户配置 / 管理模板 / Windows组件 / Windows资源管理器

        > 防止从“我的电脑”访问驱动器

        > 隐藏 "我的电脑" 中的这些指定的驱动器

 组策略编辑器 里面还可以看到其他不常用,但很有用的设置项.


标签: vbs registry

添加新评论 »

贴图表情