我的机器的注册表被锁了,在网上也很有关解锁的方法,
但都无效。最后还是想通过用API修改或删除
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
下面的"DisableRegistryTools"的值来解除注册表被锁的问题。
众所周知:"DisableRegistryTools"=0 时,解锁
"DisableRegistryTools"=1 时,被锁
***************************************************************
以下是修改键值"DisableRegistryTools"=0
注:API及常数声明省略
***************************************************************
Private Sub Form_Load()
Dim skey As String
Dim result
Dim hKeyID
skey = "DisableRegistryTools"
result = RegOpenKey(HKEY_CURRENT_USER, _
"Software\icrosoft\indows\urrentVersion\olicies\system", hKeyID)
If result = 0 Then
result = RegSetValueEx(hKeyID, skey, 0&, REG_DWORD, 0, 255)
End If
result = RegCloseKey(hKeyID)
End Sub
问题:1.在注册表中显示DisableRegistryTools的值为"不正确的dword值"
2.在调用RegSetValueEx时,我的机器上运行出错,他人机器上运行ok
*************************************************************************
以下是删除键"DisableRegistryTools",
(删除项system也可解锁)
*************************************************************************
Private Sub Form_Load()
Dim skey As String
Dim result
Dim hKeyID
skey = "DisableRegistryTools"
result = RegOpenKey(HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Policies\system", hKeyID)
If result = 0 Then
result = RegDeleteValue(hKeyID, skey)
End If
result = RegCloseKey(hKeyID)
End Sub
问题:3.调用RegDeleteValue时,在我的机器上运行出错,在他人机器上运行ok说明:系统都是windows2k
但都无效。最后还是想通过用API修改或删除
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
下面的"DisableRegistryTools"的值来解除注册表被锁的问题。
众所周知:"DisableRegistryTools"=0 时,解锁
"DisableRegistryTools"=1 时,被锁
***************************************************************
以下是修改键值"DisableRegistryTools"=0
注:API及常数声明省略
***************************************************************
Private Sub Form_Load()
Dim skey As String
Dim result
Dim hKeyID
skey = "DisableRegistryTools"
result = RegOpenKey(HKEY_CURRENT_USER, _
"Software\icrosoft\indows\urrentVersion\olicies\system", hKeyID)
If result = 0 Then
result = RegSetValueEx(hKeyID, skey, 0&, REG_DWORD, 0, 255)
End If
result = RegCloseKey(hKeyID)
End Sub
问题:1.在注册表中显示DisableRegistryTools的值为"不正确的dword值"
2.在调用RegSetValueEx时,我的机器上运行出错,他人机器上运行ok
*************************************************************************
以下是删除键"DisableRegistryTools",
(删除项system也可解锁)
*************************************************************************
Private Sub Form_Load()
Dim skey As String
Dim result
Dim hKeyID
skey = "DisableRegistryTools"
result = RegOpenKey(HKEY_CURRENT_USER, _
"Software\Microsoft\Windows\CurrentVersion\Policies\system", hKeyID)
If result = 0 Then
result = RegDeleteValue(hKeyID, skey)
End If
result = RegCloseKey(hKeyID)
End Sub
问题:3.调用RegDeleteValue时,在我的机器上运行出错,在他人机器上运行ok说明:系统都是windows2k
解决方案 »
- 寻找QQ昵称为"毛毛"的VB程序员,我是QQ昵称为"勇感动欣"网友,你还记得吗?你在哪里啊!我找你好久了,:(...
- 如何在MSHFlexGrid控件中删除数据库中的记录?
- 求jpeg解码的原代码!!!!!!
- access 数据库插入错误:syntax error in insert into statement,请问怎么改?
- drivelistbox控件的错误!!!
- 懂VB和java的请进!
- 有没有人会用vb连接oracle数据库啊!
- 在线等待,怪问题,急问题,小问题!!!
- to xuebuctxy
- 日期格式问题
- 是否可以读取服务器上文本文件的内容 ?
- 我写的程序在个别机器上运行时报“Run-Time Error:'13' Type Mismatch”,这是怎么回事呢?如何解决?
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite ""HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, 2
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, 2
我的代码中没有中文代码吧,在我的机器上运行出错而别的机器上ok不知道是
什么原因,是不是系统被人设置过,禁止非管理员对注册表作任何修改呢,即
使是调用API?
错误提示为:行: 3
字符: 1
错误: 无效的过程调用或参数
代码: 800A0005Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, 2
你要把你出錯的信息貼出來是不是你的注冊表禁止運行.REG文件,禁止開始菜單中的“運行”菜單...
只要你打开Regedit.EXE,然后手动试一试.
开始菜单的运行当然也是被隐藏的,ms-dos也是被禁用的。其他
机器也是一样。.reg文件可以运行。运行菜单隐藏,可用批处理文件(***.bat)代替运行菜单的操作。出错信息是:调用result = RegDeleteValue(hKeyID, skey)时,
result的返回值不等于0。我目前的考虑是:注册表信息可以打开,但不可以写,因为:
result = RegOpenKey(HKEY_CURRENT_USER, _
"Software\icrosoft\indows\urrentVersion\olicies\system", hKeyID)
的返回值为0
如果是这样的话,那么又如何让注册表可以写呢?Dickson(沧海冷心):直接SHELL函数调用REG命令
否具体一点?
REGEDIT4[HKEY_CURRENT_USER\oftware\icrosoft\indows\urrentVersion\olicies\ystem]
"DisableRegistryTools"=dword:0000000
这种方法不行,提示是注册表信息添加成功,但实际上是失败的,
因为打开注册表时,仍然提示“注册表被管理员禁用”。谢谢!
LZ你去...\Winnt\System32下找到RegEdt32.exe這個文件,雙擊運行,如果此文件被禁止運行的話,你就更名為沒被禁止的文件名,如記事本NOTEPAD.exe
運行後即可打開注冊表內容,直接在裡面修改就OK了
原文件regedt32.exe仍然存在,多了一副本被改名了,
运行被改名的文件后仍然提示“注册表被管理员禁用”