写注册表项
⑴ 注册表项怎么编写
开始运行 即可:
cmd /k reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d "DiskDrive" /f
cmd /k reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d "DiskDrive" /f
cmd /k reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d "DiskDrive" /f
cmd /k reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d "DiskDrive" /f
cmd /k reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d "DiskDrive" /f
⑵ 易语言怎么写注册表问题
1、打开复易语言 新建一个制空白程序 添加一个按钮组件。
⑶ 易语言无法写注册表\写注册表项
这要你方法对。很有可能是下面的问题了。
你按win+r键 里输入regedit看到的注册表。再在易语言里写一句
运行 ("regedit", 假, )
看看这两个注册表的运行路径是不是一样的。呵呵如果不一样。原因你懂的。了解详情请看
下面的文章吧。支持原作。
Win64位系统下的WOW64文件和注册表的重定向
今天咱们驿站上有位会员问我个问题,给我贴了一小段代码如下:CString strPath = LC:\\Windows\\System32\\123.sys;CFile file;if (file.Open(strPath ,CFile::modeCreate)== TRUE){ file.Close();}很简单吧,就是在 C:\Windows\System32 路径下创建了一个 12
今天咱们驿站上有位会员问我个问题,给我贴了一小段代码如下:CString strPath = L"C:\\Windows\\System32\\123.sys";CFile file;if (file.Open(strPath ,CFile::modeCreate)== TRUE){ file.Close();}很简单吧,就是在 C:\Windows\System32 路径下创建了一个 123.sys 的文件,看似简单,编译执行之后,到 C:\Windows\System32 目录下找这个 123.sys 文件,咦?不见了。。。奇怪了,整个C盘搜索,终于找到了,不过在 C:\Windows\SysWOW64 目录下呆着呢?我明明指定的是 System32 目录,为什么跑到 SysWOW64 目录里面了呢。怪了。。。突然想起来,前段时间有另外一个会员问我注册表的问题,好像也有个 WOW64 之类的关键字,于是到网络上狂搜一番,终于找到答案了。转载过来,相关解释如下:================================================无论是 Windows XP Professional X64 Edition、Windows Server 2003 X64 Edition 还是 Windows Vista X64 Edition、Windows7 X64 Edition(以下把均统称为X64系统),都引入了一项技术:文件和注册表的重定向之所以有这个技术,是为了将32位程序和64位程序分离开。这种在64位平台上运行32位程序的模拟器被称为WOW64。WOW64是 "Windows 32 on Windows 64" 的简称,它在系统层中另提供了一层,以支持老式的32位程序。在X64系统里面,一些特殊的目录和特殊的注册表键被分为2个独立的部分。对于文件系统来说,%systemroot%/system32 目录被保留给64位文件使用,而32位文件会被重定向到 %systemroot%/SysWOW64目录。换句话说,所有的32位程序一般情况下只会出现在%systemroot%/SysWOW64 目录里面。任何32位程序试图访问 %systemroot%/system32目录的企图都会被重定向到 %systemroot%/SysWOW64目录。这个是一个默认的行为,除非程序的线程明确的指名需要关闭这种重定向机制。对于注册表来说,也有类似的内容。WOW64子系统也提供了对注册表访问的重定向。如果是32位程序,对注册表的操作不论是读还是写,WOW64都将会截取对HKLM/Software访问,并重定向到HKLM/Software/Wow6432Node(即32位应用程序的注册信息被写在HKLM/Software/Wow6432Node中,而不是预期的HKLM/Software中),如果是64位程序,就直接到 HKLM/Software。需要重定向的注册表项注册表重定向,其实质就是维护两套不同的注册表键,一套用于64位,一套用于32位。受影响的键不只是上面提及的HKLM/Software,还包括:HKEY_CLASSES_ROOT HKEY_CURRENT_USER/Software/Classes HKEY_LOCAL_MACHINE/Software HKEY_USERS/*/Software/Classes HKEY_USERS/*_Classes其中,64位程序的注册信息存储在上面的健中,32位程序的注册信息重定向存储在下列健中:HKEY_CLASSES_ROOT/WOW6432node HKEY_CURRENT_USER/Software/Classes/WOW6432node HKEY_LOCAL_MACHINE/Software/WOW6432node HKEY_USERS/*/Software/Classes/WOW6432node HKEY_USERS/*_Classes/WOW6432node当运行32位程序,WOW64会截取程序对注册表 HKLM/Software 的访问,并重定向于HKLM/Software/Wow6432Node================================================怎么样,原理听明白了吧?那么接下来就教大家如何来明确的关闭这种重定向机制:文件重定向解决办法:我们可以调用相关的API来关闭和打开这种转向。常用的函数有3个,(关闭系统转向),Wow64RevertWow64FsRedirection(打开系统转向),Wow64EnableWow64FsRedirection(打 开系统转向)。但是Wow64EnableWow64FsRedirection在嵌套使用的时候不可靠,所以通常用上面的 Wow64RevertWow64FsRedirection 来打开文件系统转向功能。注册表重定向解决办法:32位程序如何访问64位的注册表(HKLM/Software)在调用函数 RegCreateKeyEx 创建注册表项时,对其第六个参数 REGSAM samDesired 设置中添加参数 KEY_WOW64_64KEY,这样可以实现对64位注册表的访问;在调用函数 RegOpenKeyEx 打开注册表项时,要对其第四个参数 REGSAM samDesired 设置中添加参数 KEY_WOW64_64KEY,这样可以实现对64位注册表的访问;64位程序如何访问32位的注册表(HKLM/Software/Wow6432Node)在调用函数 RegCreateKeyEx 创建注册表项时,对其第六个参数 REGSAM samDesired 设置中添加参数 KEY_WOW32_64KEY,这样可以实现对32位注册表的访问;在调用函数RegOpenKeyEx 打开注册表项时,要对其第四个参数 REGSAM samDesired 设置中添加参数 KEY_WOW32_64KEY,这样可以实现对32位注册表的访问;行了,解决办法也给大家说了,下面就来实现下,看看刚才的代码怎么来修改,其实只需要在刚才的代码片段的上下分别加上关闭和开启转向的Api调用即可,代码如下:PVOID OldValue = NULL;BOOL bRet = (&OldValue);CString strPath = L"C:\\Windows\\System32\\123.sys";CFile file;if (file.Open(strPath ,CFile::modeCreate)== TRUE){ file.Close();}bRet = Wow64RevertWow64FsRedirection(&OldValue);
⑷ C#的注册表项读取和写入方式
.读取指定名称的注册表的值
程序代码
private string GetRegistData(string name)
{
string registData;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
registData = aimdir.GetValue(name).ToString();
return registData;
}
以上是读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为的注册表值;
2.向注册表中写数据
程序代码
private void WTRegedit(string name,string tovalue)
{
RegistryKey hklm = Registry.LocalMachine;
RegistryKey software = hklm.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.CreateSubKey("XXX");
aimdir.SetValue(name,tovalue);
}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项;
3.删除注册表中指定的注册表项
程序代码
private void DeleteRegist(string name)
{
string[] aimnames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
aimnames = aimdir.GetSubKeyNames();
foreach(string aimKey in aimnames)
{
if(aimKey == name)
aimdir.DeleteSubKeyTree(name);
}
}
以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中删除名称为name注册表项;
4.判断指定注册表项是否存在
程序代码
private bool IsRegeditExit(string name)
{
bool _exit = false;
string[] subkeyNames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("XXX",true);
subkeyNames = aimdir.GetSubKeyNames();
foreach(string keyName in subkeyNames)
{
if(keyName == name)
{
_exit = true;
return _exit;
}
}
return _exit;
}
⑸ 注册表创建项RegistrySizeLimit怎么写
1、在运行栏中来输入源regedit打开注册表编辑器。
⑹ 注册表的项
你的问题很模糊,给你一个启动项
注册表启动项
注册表是启动程序藏身之处最多的地方,主要有以下几项:
1.Run键
Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_
USER\Software\Microsoft\Windows\CurrentVersion\Run]和[HKEY_
LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],其下的所有程序在每次启动登录时都会按顺序自动执行。
还有一个不被注意的Run键,位于注册表[HKEY_CURRENT_
USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run] 和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
Policies\Explorer\Run],也要仔细查看。
2.RunOnce键
RunOnce位于[HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\RunOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\
Windows\CurrentVersion\RunOnce]键,与Run不同的是,RunOnce下的程序仅会被自动执行一次。
3.RunServicesOnce键
RunServicesOnce键位于[HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\RunServicesOnce]和[HKEY_LOCAL_MACHINE\
Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]下,其中的程序会在系统加载时自动启动执行一次。
4.RunServices键
RunServices继RunServicesOnce之后启动的程序,位于注册表[HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\RunServices]和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
RunServices]键。
5.RunOnceEx键
该键是Windows XP/2003特有的自启动注册表项,位于[HKEY_
CURRENT_USER\\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ RunOnceEx]。
6.load键
[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows]下的load键值的程序也可以自启动。
7.Winlogon键
该键位于位于注册表[HKEY_CURRENT_USER\SOFTWARE\
Microsoft\Windows NT\CurrentVersion\Winlogon]和[HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon],注意下面的Notify、Userinit、Shell键值也会有自启动的程序,而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。
8.其他注册表位置
还有一些其他键值,经常会有一些程序在这里自动运行,如:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]
小提示
注册表的[HKEY_LOCAL_MACHINE]和[HKEY_CURRENT_USER]键的区别:前者对所有用户有效,后者只对当前用户有效。
⑺ 易语言写注册表项问题
你是来要实现开机自启动吧。自
直接用“设置自动运行”命令即可。
设置自动运行 (取执行文件名 (), 取运行目录 () + “\” + 取执行文件名 (), 1)
如果还不行的话,看看你有没有开什么防火墙,例如:360安全卫士,
是不是把它禁止加入启动项了。
⑻ 用批处理写注册表
介绍几个常用键值操作
1、reg add
描述:将新的子项或项添加到注册表中。
语法:
reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]
参数:
KeyName
指 定子项的完全路径。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
/v EntryName 指定要添加到指定子项下的项名称。
/ve 指定添加到注册表中的项为空值。
/t DataType 指定项值的数据类型。DataType 可以是以下几种类型:
REG_SZ
REG_MULTI_SZ
REG_DWORD_BIG_ENDIAN
REG_DWORD
REG_BINARY
REG_DWORD_LITTLE_ENDIAN
REG_LINK
REG_FULL_RESOURCE_DESCRIPTOR
REG_EXPAND_SZ
/s separator 指定用于分隔多个数据实例的字符。当 REG_MULTI_SZ 指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为 \。
/d value 指定新注册表项的值。
/f 不用询问信息而直接添加子项或项。
注意 :
该操作不能添加子树。该版本的 Reg 在添加子项时无需请求确认。
下表列出了 reg add 操作的返回值.值 说明
0 成功
1 失败
2、reg compare
描述:比较指定的注册表子项或项。
语法:
reg compare KeyName1 KeyName2 [/v EntryName | /ve] [/s]
参数:
KeyName
指 定子项的完全路径。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。
/v EntryName
比较子项下的特定项。
/ve
指定只可以比较没有值的项。
指定不同点和匹配点的显示方式。默认设置是 /od。 值 说明
/oa 指定显示所有不同点和匹配点。默认情况下,仅列出不同点。
/od 指定仅显示不同点。这是默认操作。
/os 指定仅显示匹配点。默认情况下,仅列出不同点。
/on 指定不显示任何内容。默认情况下,仅列出不同点。
/s Separator 比较所有子项和项。
说明:
下表列出了 reg compare 操作的返回值。 值 说明
0 比较成功且结果相同。
1 比较失败。
2 比较成功并找到不同点。
3、reg
描述:将一个注册表项复制到本地或远程计算机的指定位置。
语法:
reg KeyName1 KeyName2 [/s] [/f]
参数:
KeyName1
指 定要复制子项的完整路径。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。
KeyName2
指定子项目的地的完整路径。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。
/s 复制指定子项下的所有子项和项。
/f 无需请求确认而直接复制子项。
说明:
该版本的 Reg 在复制子项时无须请求确认。
该版本的 Reg 在复制子项时无须请求确认。
下表列出了 reg 操作的返回值。 值 说明
0 成功
1 失败
4、reg delete
描述:从注册表删除项或子项
语法:
reg delete KeyName [] [/f]
参数:
KeyName 指 定子项的完全路径。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
/v EntryName 删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。
/ve 指定只可以删除为空值的项。
/va 删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。
/f 无需请求确认而删除现有的注册表子项或项。
说明:
下表列出了 reg delete 操作的返回值。 值 说明
0 成功
1 失败
5、reg export
描述:将指定子项、项和值的副本创建到文件中,以便将其传输到其它服务器。
语法:
reg export KeyName FileName
参数:
KeyName 指定子项的完全路径。Export 操作仅可在本地计算机上工作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
FileName 指定要导出文件的名称和路径。该文件必须具有 .reg 扩展名。
说明:
下表列出了 reg export 操作的返回值。 值 说明
0 成功
1 失败
6、reg import
描述:将包含导出的注册表子项、项和值的文件复制到本地计算机的注册表中。
语法:
reg import FileName
参数:
FileName 指定将复制到本地计算机注册表中的文件的名称和路径。必须预先使用 reg export 命令创建该文件。
说明:
下表列出了 reg import 操作的返回值。 值 说明
0 成功
1 失败
⑼ 什么叫注册表项
什么是注册表?
从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是 95及Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。
★如何打开注册表?(在修复注册表前请备份)
点“开始”→运行→输入“regedit”→确定
★一、注册表的结构划分及相互关系
WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。
在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。
Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。
注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。
虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。
HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。
实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。
HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。
HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。
根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。
★二、六大根键的作用
在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。
1.HKEY_USERS
该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。
2.HKEY_CURRENT_USER
该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。
3.HKEY_CURRENT_CONFIG
该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。图5为HKEY_CURRENT_CONFIG子关键字之间的连接情况。
4.HKEY_CLASSES_ROOT
根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。
在第一次安装Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)&127;联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]&127;小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。
5.HKEY_LOCAL_MACHINE
该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。
该根键中的许多子键与System.ini文件中设置项类似。图7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。
⑽ 易语言写新建注册表项
写注册项(来4,“SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths ”,自取运行目录(),去执行文件名()) 答案补充 写注册项(4,“SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\QQ”,取运行目录()+取执行文件名()) 答案补充 下面这是对的\QQ这里你可以要你喜欢的 答案补充 晕 ,不好意思看错眼了`你说的是QQ吧
写注册项(4,“SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\QQ”,“输入你电脑中的QQ路径”)如果还不会+我 答案补充 这就是易语言 答案补充 QQ4736838