1.CMD命令.bat脚本修改注册表

2.我修改注册表的时候提示,我无法编辑:写该值的新内容是出错

3.修改注册表dword值成0x00000000(0)

4.怎么修改注册表,说详细点

5.vb修改注册表REG_Binary类型,要源码

注册表修改数据_修改注册表类型

通过修改注册表禁止运行某些程序,可进行如下操作:

(1)打开“注册表编辑器”。

(2)选择HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer 注册表项。

(3)单击右键,在弹出的快捷菜单中选择“新建”∣“DWORD 值”命令,新建一个类型为REG_DWORD 的值项。

(4)将该值项命名为“DisallowRun”。

(5)双击该值项,在弹出的“编辑DWORD 值”对话框中的“数值数据”文本框中修改数值为“1”,“基数”选项组中选择“十六进制”选项。

(6)右击Explorer 注册表项,在其弹出的快捷菜单中选择“新建”∣“项”命令,新建一个Explorer 注册表项的子项。

(7)将该子项命名为“DisallowRun”。

(8)右击该子项,在弹出的快捷菜单中选择“新建”∣“字串值”命令,新建一个类型为REG_SZ 的值项。

(9)将该值项命名为“1”,双击该值项,在弹出的“编辑字符串”对话框中的“数值数据”文本框中输入要禁止运行的程序名称。例如要禁止运行记事本程序,可输入“Notepad.exe”。

(10)若要禁止多个程序,重复(8)~(9)步即可。

(11)设置完毕后,重新启动计算机即可。

以“只运行许可的Windows应用程序”为例,当然也可以通过“不要运行指定的Windows应用程序”来设置,方法可以借鉴这里,只是设置都是相反而已。 注意:一定要在“只运行许可的Windows应用程序”列表中添加“cmd.exe”、“regedit.exe”或者“gpedit.msc”或者“mmc.exe”。

要不你就不能恢复这个设置了。就会出现把自己关在门外,把钥匙丢到门里了。 1、组策略(实时生效)开始--运行,输入“gpedit.msc”,然后依次展开“用户配置”--“管理模板”--“系统”

在右边找到“只运行许可的Windows应用程序”,然后将其选择为“已启用”,再点击“允许的应用程序列表”的“显示”;

在这里添加允许运行的程序,如cmd.exe、regedit.exe、mmc.exe(一定写上后缀,如.exe、.bat等)。 2、注册表(注销或者重启之后生效)将下面的代码保存为 *.reg 的文件,如1.reg;然后双击之后选择“导入”即可

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoDriveTypeAutoRun"=dword:00000091

"RestrictRun"=dword:00000001[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun]

"1"="cmd.exe"

"2"="iexplore.exe" 恢复方法:1、打开注册表,将HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下的RestrictRun 这个REG_DWORD键值 以及 RestrictRun项 删除即可2、打开组策略,然后依次展开“用户配置”--“管理模板”--“系统”

在右边找到“只运行许可的Windows应用程序”,然后将其选择为“未配置”即可

参考资料:

style="font-size: 18px;font-weight: bold;border-left: 4px solid #a10d00;margin: 10px 0px 15px 0px;padding: 10px 0 10px 20px;background: #f1dada;">CMD命令.bat脚本修改注册表

第一个问题:

1、很多程序将本程序的一些配置信息(例如窗口位置、语言设置、注册信息等)保存在注册表;

2、如果该程序注册了文件类型,会在HKEY_CLASSES_ROOT下面保存一对键,例如

HKEY_CLASSES_ROOT\YourApplication.Document 这个是你注册的文件类型的类型名称

HKEY_CLASSES_ROOT\.yad 这个yad是你注册的文件类型的扩展名

第二个问题:

如果是C++的话,网上有很多操作注册表的类,也可以用VC的ATL内带的CRegKey类

如果要用纯API,常用的函数如下:

创建键RegCreateKeyEx

打开一个键RegOpenKeyEx

读取键RegQueryValueEx

设置键值RegSetValueEx

删除键值RegDeleteKey

关闭打开的键RegCloseKey

其他的还有:

RegConnectRegistry

RegCreateKey

RegDeleteVale

RegEnumKey

RegFlushKey

RegGetKeySecurity(此函数,98不适用)

RegLoadKey

RegNotifyChangeKeyValue(98不适用)

RegOpenKey

RegQueryInfoKey

RegQueryValue

RegReplaceKey

RegRestoreKey(98不适用)

RegSaveKey

RegSetKeySecurity(98不适用)

RegSetValue

RegUnLoadKey

第三个问题:

或者百度搜索注册表结构

我修改注册表的时候提示,我无法编辑:写该值的新内容是出错

1.“批处理普通操作”

ex:

@echo windows registry Editor Version 5.00 >>abc.reg

@echo.

@echo [hkey_local_machine\software\ttt] >>abc.reg

@echo "name"="my reg" >>abc.reg

@echo "type"=dword:00000002 >>abc.reg

@regedit /s abc.reg

@del /q abc.reg

@pause 导入完成!

注*

将内容无提示导入注册表:regedit.exe /s "%1"

2.”批处理专有命令操作注册表”

命令格式:reg operation

operation分类:

1.add :加入新的键

语法:reg add [\\主机名\] 键 [/v 键值名|/ve] [/t 类型] [/s 分隔符] [/d 数据] [/f]

如果省略主机名,默认为你目前的机器。键例如:[rootkey\] key

四大根键简写为:HKCR,HKLM,HKCU,HKCC

参数解释:

/v 键值名中如果有空格,则字符串加引号

/ve 加入空键值名

/f 覆盖当前所有信息

/d 将数据赋给键值项

2.delete:删除一个键值或子键

格式:reg delete [\\主机名\] 键 [/v 键值名|/ve|/va] [/f]

参数解释:

/v 指定删除的键值名

/ve 删除空名键值

/va 删除该键下所有键值

/f 强制删除

3.query:显示根键,子键或其键的集合的信息

格式:reg query [\\主机名\] 键 [/v 键值名|/ve] [/s]

参数解释:

/v 显示的键值名称

/ve 显示无名键值

/s 显示指定键名下所有键

注1*reg文件数据类型:(add命令的参数“/t”解释)

/t reg数据类型

有以下几种

REG_SZ

REG_MULTI_SZ

REG_DWORD_BIG_ENDIAN

REG_DWORD

REG_BINARY

REG_DWORD_LITTLE_ENDIAN

REG_NONE

REG_EXPAND_SZ

注2*创建“字符串类型”键值时,如果包含路径,则路径分隔符“\”换成双斜杠“\\”

在reg文件中,“默认”键值 用“@”表示,且不加引号“"”。

以上就是我所掌握的批处理操作注册表的两种方法,希望对你有帮助~

修改注册表dword值成0x00000000(0)

1右击注册表项-权限-高级-所有者-编辑,勾选"替换子容器和对象的所有者",选择administrators一路确定关闭属性窗口.

2再次打开属性-安全中赋予administrators用户完全控制权限.

怎么修改注册表,说详细点

修改注册表dword值成0x00000000(0)

REG_DWORD与REG_BINARY不同的

你给的图是REG_BINARY类型,而你却需要变成REG_DWORD类型的0x00000000(0)

问题解决方法:

1。右击--新建--DWORD值--名字--aa

2。选中图中的项右击重命名--复制

3。选中新建的DWORD值右击重命名,粘贴形成aa{871c

4。删除图中的项

5。改新建的名字为{871c

6。右击此项--修改--输入--0--即可

vb修改注册表REG_Binary类型,要源码

以WINXP为例,在“开始”——>“运行”输入“regedit”你就打开了注册表编辑器了。如果输入“regedit32”有设置权限的功能,进阶用户可以使用。

计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中: DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。

注册表由键(或称“项”)、子键(子项)和值项构成。一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。一般我们平常说修改注册表其实就是改一个键值。

当你选中一个键值的时候,编辑下拉菜单下就可以看到一个选项----权限注册表权限,用鼠标单击这个选项后,继续用鼠标分别单击各个用户组就可以看到不同的权限限制。你觉得某一个用户组的权力太高了,就可以在下方修改权限(注意:必须赋予Administrators组用户完全权限,否则一旦你或相应的软件、驱动程序要修改注册表,但是由于所有的组用户都没有权限修改,所以你将不能够成功安装。所以必须把完全权限赋予Administrators组用户(系统默认)。

楼主的问题太笼统了,我也只能回答如此了。

' 这个模块用于读和写注册表关键字。

' 不同于VB 的内部注册表访问方法,它可以

' 通过字符串的值来读和写任何注册表关键字。

Option Explicit

'---------------------------------------------------------------

'-注册表 API 声明...

'---------------------------------------------------------------

Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Private Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As Long

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long

Private Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData 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

'---------------------------------------------------------------

'- 注册表 Api 常数...

'---------------------------------------------------------------

' Reg Data Types...

Const REG_SZ = 1 ' Unicode空终结字符串

Const REG_EXPAND_SZ = 2 ' Unicode空终结字符串

Const REG_DWORD = 4 ' 32-bit 数字

Public Const REG_BINARY = 3 ' Free form binary

' 注册表创建类型值...

Const REG_OPTION_NON_VOLATILE = 0 ' 当系统重新启动时,关键字被保留

' 注册表关键字安全选项...

Const READ_CONTROL = &H20000

Const KEY_QUERY_VALUE = &H1

Const KEY_SET_VALUE = &H2

Const KEY_CREATE_SUB_KEY = &H4

Const KEY_ENUMERATE_SUB_KEYS = &H8

Const KEY_NOTIFY = &H10

Const KEY_CREATE_LINK = &H20

Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL

Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL

Const KEY_EXECUTE = KEY_READ

Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _

KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _

KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

' 注册表关键字根类型...

Public Const HKEY_CLASSES_ROOT = &H80000000

Public Const HKEY_CURRENT_USER = &H80000001

Public Const HKEY_LOCAL_MACHINE = &H80000002

Public Const HKEY_USERS = &H80000003

Public Const HKEY_PERFORMANCE_DATA = &H80000004

' 返回值...

Public Const ERROR_NONE = 0

Public Const ERROR_BADKEY = 2

Public Const ERROR_ACCESS_DENIED = 8

Public Const ERROR_SUCCESS = 0

'---------------------------------------------------------------

'- 注册表安全属性类型...

'---------------------------------------------------------------

Private Type SECURITY_ATTRIBUTES

nLength As Long

lpSecurityDescriptor As Long

bInheritHandle As Boolean

End Type

'-------------------------------------------------------------------------------------------------

'sample usage - Debug.Print UpodateKey(HKEY_CLASSES_ROOT, "keyname", "newvalue")

'-------------------------------------------------------------------------------------------------

'修改键值

Public Function UpdateKey(KeyRoot As Long, KeyName As String, SubKeyName As String, SubKeyValue As String) As Boolean

Dim rc As Long ' 返回代码

Dim hKey As Long ' 处理一个注册表关键字

Dim hDepth As Long '

Dim lpAttr As SECURITY_ATTRIBUTES ' 注册表安全类型

lpAttr.nLength = 50 ' 设置安全属性为缺省值...

lpAttr.lpSecurityDescriptor = 0 ' ...

lpAttr.bInheritHandle = True ' ...

'------------------------------------------------------------

'- 创建/打开注册表关键字...

'------------------------------------------------------------

rc = RegCreateKeyEx(KeyRoot, KeyName, _

0, REG_SZ, _

REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, lpAttr, _

hKey, hDepth) ' 创建/打开//KeyRoot//KeyName

If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError ' 错误处理...

'------------------------------------------------------------

'- 创建/修改关键字值...

'------------------------------------------------------------

If (SubKeyValue = "") Then SubKeyValue = " " ' 要让RegSetValueEx() 工作需要输入一个空格...

' 创建/修改关键字值

rc = RegSetValueEx(hKey, SubKeyName, _

0, REG_SZ, _

SubKeyValue, LenB(StrConv(SubKeyValue, vbFromUnicode)))

If (rc <> ERROR_SUCCESS) Then GoTo CreateKeyError ' 错误处理

'------------------------------------------------------------

'- 关闭注册表关键字...

'------------------------------------------------------------

rc = RegCloseKey(hKey) ' 关闭关键字

UpdateKey = True ' 返回成功

Exit Function ' 退出

CreateKeyError:

UpdateKey = False ' 设置错误返回代码

rc = RegCloseKey(hKey) ' 试图关闭关键字

End Function

'-------------------------------------------------------------------------------------------------

'sample usage - Debug.Print GetKeyValue(HKEY_CLASSES_ROOT, "COMCTL.ListviewCtrl.1\CLSID", "")

'-------------------------------------------------------------------------------------------------

'获取数据

Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String) As String

Dim i As Long ' 循环计数器

Dim rc As Long ' 返回代码

Dim hKey As Long ' 处理打开的注册表关键字

Dim hDepth As Long '

Dim sKeyVal As String

Dim lKeyValType As Long ' 注册表关键字数据类型

Dim tmpVal As String ' 注册表关键字的临时存储器

Dim KeyValSize As Long ' 注册表关键字变量尺寸

' 在 KeyRoot {HKEY_LOCAL_MACHINE...} 下打开注册表关键字

'------------------------------------------------------------

rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打开注册表关键字

If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 处理错误...

tmpVal = String$(1024, 0) ' 分配变量空间

KeyValSize = 1024 ' 标记变量尺寸

'------------------------------------------------------------

' 检索注册表关键字的值...

'------------------------------------------------------------

rc = RegQueryValueEx(hKey, SubKeyRef, 0, _

lKeyValType, tmpVal, KeyValSize) ' 获得/创建关键字的值

If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 错误处理

tmpVal = Left$(tmpVal, InStr(tmpVal, Chr(0)) - 1)

'------------------------------------------------------------

' 决定关键字值的转换类型...

'------------------------------------------------------------

Select Case lKeyValType ' 搜索数据类型...

Case REG_SZ, REG_EXPAND_SZ ' 字符串注册表关键字数据类型

sKeyVal = tmpVal ' 复制字符串的值

Case REG_DWORD ' 四字节注册表关键字数据类型

For i = Len(tmpVal) To 1 Step -1 ' 转换每一位

sKeyVal = sKeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' 一个字符一个字符地生成值。

Next

sKeyVal = Format$("&h" + sKeyVal) ' 转换四字节为字符串

End Select

GetKeyValue = sKeyVal ' 返回值

rc = RegCloseKey(hKey) ' 关闭注册表关键字

Exit Function ' 退出

GetKeyError: ' 错误发生过后进行清除...

GetKeyValue = vbNullString ' 设置返回值为空字符串

rc = RegCloseKey(hKey) ' 关闭注册表关键字

End Function

'删除键值

Public Function DeleteValues(KeyRoot As Long, KeyName As String, SubKeyName As String) As Boolean

Dim rc As Long

Dim hKey As Long

Dim hDepth As Long

Dim lpAttr As SECURITY_ATTRIBUTES

lpAttr.nLength = 50

lpAttr.lpSecurityDescriptor = 0

lpAttr.bInheritHandle = True

rc = RegCreateKeyEx(KeyRoot, KeyName, _

0, REG_SZ, _

REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, lpAttr, _

hKey, hDepth)

If rc <> ERROR_SUCCESS Then GoTo ErrorTary

rc = RegDeleteValue(hKey, SubKeyName)

If rc <> ERROR_SUCCESS Then GoTo ErrorTary

DeleteValues = True

rc = RegCloseKey(hKey)

Exit Function

ErrorTary:

DeleteValues = False

rc = RegCloseKey(hKey)

End Function

这是完整的注册表调用API,你可以看着修改,函数意思极用法均已经注释出,其他的函数照猫画虎就行,至于那个是二进制数据,在打开项的函数中把 REG_SZ,改为REG_BINARY 就行