
VB 高手帮帮忙写个小程序?
用VB写个隐藏磁盘分区下面的代码如何改写.这个网址是一样的问题.http://zhidao.baidu.com/question/93562250.htmlHKEY_CU...
用VB写个隐藏磁盘分区
下面的代码如何改写.
这个网址是一样的问题.
http://zhidao.baidu.com/question/93562250.html
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下的NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).
你判断一下你的复选控件如果值为true就向注册表写入数据是就了要隐藏多个要把数值相加即可
盘符 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不是很会.
发给我邮箱:yao11028@qq.com (.....P) 展开
下面的代码如何改写.
这个网址是一样的问题.
http://zhidao.baidu.com/question/93562250.html
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下的NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).
你判断一下你的复选控件如果值为true就向注册表写入数据是就了要隐藏多个要把数值相加即可
盘符 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不是很会.
发给我邮箱:yao11028@qq.com (.....P) 展开
展开全部
有26个盘符,就弄26个复选框(控件数组)
1,把26个盘符对应的2进制串存在一个字符串数组中
dim strArr(1 to 26) as string'因为是两种状态,可再定义一个数组
strArr(1)="01000000"
...
strArr(26)="00000002"
2,复选框控件数组(1-26)分别对应盘符A-Z,复选框的状态用一个布尔数组存放
dim ckArr() as boolean
redim ckArr(1 to 26)
for i=1 to 26
if check1(i).value=1 then
ckArr(i)=true
end if
next i
3,在循环中判断ckArr元素的值来操作注册表
for i=1 to 26
if ckArr(i) then
call Set_regedit(strArr(i))'操作注册表的函数
end if
next i
-----------------------------------------------------------
盘符的状态有两种,这上面我只写一个数组,另一个自己补上。
另外,VB操作注册表的模块网上有下载的,可以搜一下。
1,把26个盘符对应的2进制串存在一个字符串数组中
dim strArr(1 to 26) as string'因为是两种状态,可再定义一个数组
strArr(1)="01000000"
...
strArr(26)="00000002"
2,复选框控件数组(1-26)分别对应盘符A-Z,复选框的状态用一个布尔数组存放
dim ckArr() as boolean
redim ckArr(1 to 26)
for i=1 to 26
if check1(i).value=1 then
ckArr(i)=true
end if
next i
3,在循环中判断ckArr元素的值来操作注册表
for i=1 to 26
if ckArr(i) then
call Set_regedit(strArr(i))'操作注册表的函数
end if
next i
-----------------------------------------------------------
盘符的状态有两种,这上面我只写一个数组,另一个自己补上。
另外,VB操作注册表的模块网上有下载的,可以搜一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim hKey As Long, SubKey, Exe(0 To 4) As Byte
Const HKEY_CURRENT_USER = &H80000001
Const REG_BINARY = 3
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpregBINARYSubKey$, lphKey&)
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 Sub Command1_Click()
If Check1(0).Value = 1 Then
Exe(0) = &H8: Exe(1) = &H0: Exe(2) = &H0: Exe(3) = &H0
SubKey = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "NoDrives", 0, REG_BINARY, Exe(0), 4
RegCloseKey hKey
End If
End Sub
看在五分的份上,给你写了一个D硬隐藏的代码,后面的自己加上应也不难了,Exe(0) = &H8: Exe(1) = &H0: Exe(2) = &H0: Exe(3) = &H0
是10的就改成&h10,我是头都想痛了
点完之后,重启或注销,就可以看到结果了
Const HKEY_CURRENT_USER = &H80000001
Const REG_BINARY = 3
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCreateKey& Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpregBINARYSubKey$, lphKey&)
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 Sub Command1_Click()
If Check1(0).Value = 1 Then
Exe(0) = &H8: Exe(1) = &H0: Exe(2) = &H0: Exe(3) = &H0
SubKey = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "NoDrives", 0, REG_BINARY, Exe(0), 4
RegCloseKey hKey
End If
End Sub
看在五分的份上,给你写了一个D硬隐藏的代码,后面的自己加上应也不难了,Exe(0) = &H8: Exe(1) = &H0: Exe(2) = &H0: Exe(3) = &H0
是10的就改成&h10,我是头都想痛了
点完之后,重启或注销,就可以看到结果了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询