1.delphi中如何向注册表中写入二进制数据

2.如何在Delphi中对注册表中的键值项判断存在与否

3.DELPHi:删除注册表项及子项问题

4.Delphi语言读取系统注册表数据的方法

delphi修改注册表_delphi exe 修改

问题一:怎样编写注册表导入脚本文件 比如我要快速的修改一台机子的机器名,我做的一个注册表文件如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\puterName]

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\puterName\puterName]

puterName=205

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\puterName\ActiveputerName]

puterName=205

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters]

NV Hostname=205

Hostname=205

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\puterName\puterName]

puterName=205

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip\Parameters]

NV Hostname=205

Hostname=205

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\puterName]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\puterName\puterName]

puterName=205

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\puterName\ActiveputerName]

puterName=205

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

NV Hostname=205

Hostname=205

[HKEY_USERS\S-1-5......>>

问题二:如何把一个文件写入注册表 你说的是注册表导入吗?

可以自己新建一个记事本文件,把需要的内容写入

例如这样的:

Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-18\AppEvents\EventLabels\.Default]

@=默认响声

[email protected] ,-5824

然后保存

把后缀名为TXT改为 REG 就可以 然后双击就导入了

问题三:注册表文件编写格式是什么? 通过修改注册表我们可以实现一些特殊的功能,但是注册表又是十分脆弱的,一个不小心就会出现错误。那么我们怎么样来修改注册表呢?我总结为以下几种方法:

1.软件修改(安全)

通过一些专门的修改工具来修改注册表,比如:MagicSet、TweakUI、WinHacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。

2.间接修改(比较安全)

将要修改的写入一个.reg文件中,然后导入注册表中。.reg文件的基本格式为:

REGEDIT4[HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet]

@=Super Rabbit Magic Set For Windows 98 V2.92

a=dword:00000001

b=hex:02,05,00,00

……

[HKEY_LOCAL_MACHINE\Software\SCC\QuickViewer]

……

第一行为“REGEDIT4”,必须大写。

第二行为空行。

第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet就是一个子键分支。

第四、五、六行是该子键下的设置数据。其中@表示注册表编辑器右窗格中的默认键。

以下类似。

这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。

3.直接修改(最不安全,但最直接有效)

就是通过注册表编辑器直接的来修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。

注册表应用实例

1.自动刷新

每次在窗口添加一个文件夹或删除一个对象后,须要按键对窗口进行重新刷新,很麻烦。通过修改注册表可以达到自动刷新的目的。点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTRO LSET\CONTROL\UPDATE,修改 UPDATE MODE值,由1改为0。

2.修改系统版权信息

点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DEVEOPER\SETUP,在其右窗口中保存着安装 Windows98时产生的所有版权信息,用鼠标右键点击这些串值键可以随便修改,这样不须重新安装Windows 98就可修改系统原有的版权信息。

3.加快Windows 98启动速度

Windows98在启动时能自动加载一些程序运行,有的程序放在开始菜单中的启动组里,一些重要的、不须用户干涉的系统程序,则存放在注册表中。如果想加快Windows98的启动速度,可以适当地删除这些程序。在启动组中的程序可以通过任务栏很方便地删除。如果程序不在启动组中,则须要通过修改注册表来删除。

点击HKEY_LOCAL_MACHINE\MICROSOFT\WINDOW......>>

问题四:如何写注册表谢谢就是写.reg文件 如何写注册表文件

.reg文件的标准格式如下:

REGEDIT4

[路径] (注意用大小写)

键名=键值 (针对字符串型键值)

键名=hex:键值 (针对二进制型键值)

键名=dword:键值 (针对DWORD键值)

括号里面的内容为本人的注释,写文件的时候就不需要那些小括号了,其他上面所列的都必须包括。注意引号输入时不能用中文输入的引号,必须用英文的引号,否则会出错。

那么,怎么写.reg文件呢?我们需要一个文本编辑器,用windows的记事本就可以了。单击鼠标右键,选择新建文本文档,然后在生成的文本文件里输入上面规格的内容就可以了,最后,选择另存为,输入你想要的文件名+.reg保存即可。比如你要生成test.reg,输入test.reg保存即可,你可以看到生成了一个带图标的test.reg.双击运行这个test.reg文件就能相应的修改注册表了,系统会提示“是否导入注册表”之类的信息,确定就可以了。OK,我们可以手动写注册表了,是不是感觉很酷?

先别急,我们来看看一个标准范例,这是从注册表里面导出来的,大家慢慢学习,跟着模仿一下就能写出自己的.reg文件了。

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

NoRun=dword:00000000

NoRecentDocsMenu=hex:01,00,00,00

NoForitesMenu=dword:00000000

user=sundrink

大家可以看到,dword是16进制,hex是二进制,字符串则可以直接赋值。只要将上面的内容复制保存到文本文档里,然后另存为你想要的.reg文件运行就可以了。呵呵,原来也不是很难嘛,耐心一点就可以了。当然,你要模仿,要自己动手写.reg文件,用记事本就可以了。

说多两句,为什么要手写注册表?因为有时候我们会碰到一台锁定regedit的机子,有什么办法解开呢?呵呵,如果你会手写注册表文件的话,那很简单了......大家发挥想象吧!用不了很长时间的。

问题五:编写TXT的注册表处理文件 你导出一个键值,就能看到reg文件的内容格式,照搬就行,reg文件就是txt文件,编写完后,把txt扩展名手动改成reg就可以了

问题六:用.reg文件更改注册表值如何编写? Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]

InstallDate=dword:4fdd429a

问题七:如何将程序写入注册表?(写入格式详解) 详细说来实在太长。简单点的来一个~如何使用注册表 windows的注册表(registry)实质上是一个庞大的数据库,它存储这下面这些内容:软、硬件的有关配置和状态信息,应用程序和管理器外壳的初始条件、首选项和卸载数据;计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;计算机性能纪录和底层的系统状态信息,以及各类其他数据。 注册表的结构是: windows为我们提供了一个注册表编辑器(regedit.exe)的工具,它可以用来查看和维护注册表。由图我们可以看到,注册表编辑器与管理器的界面相似。它有六个分支(有的是五个): hkey-classes-root 文件扩展名与应用的关联及ole信息 hkey-current-user 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器 hkey-local-machine 计算机硬件与应用程序信息 hkey-users 所有登录用户的信息 hkey-current-config 计算机硬件配置信息 hkey-dyn-data 即插即用和系统性能的动态信息 注册表修改方法有: 1.软件修改(安全) 通过一些专门的修改工具来修改注册表,比如:magicset、tweakui、winhacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。 2.间接修改(比较安全) 将要修改的写入一个.reg文件中,然后导入注册表中。这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。 3.直接修改(最不安全,但最直接有效) 就是通过注册表编辑器直接的来修改注册表的键值数据项,,但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎,否则会把系统弄瘫。 使用方法大致是: (1)修改键值:开始―运行-输入 regedit --确定,打开注册表编辑器,在左窗格选定你要修改的子键,在右窗格打到要修改的键值项,右击该键值项,按要求修改,修改完毕。 例:以加快开关机修改“HKEY-LOCAL-MACHINE”-“Stem”“CurrentControlSet”-“Control”-将字符串“WaitToKillServceTimeout” 数值数据20000修改为1000。 开始―运行―输入“Regedit”―在打开的注册表编器中后步向下打到“Control”左击打开右窗格,在右窗格打到“WaitToKillServceTimeout”双击打开“编辑字符串”对话框,在“数值数据”框中输入要修改为的数据数值“1000”―确定。 (2)新建子键和键值:右击父键,选“新建→项”,在打开的“新建#1“中输入子键名,确定,右击新建的子键,在右窗格添加新键值项和键值。 例:新建字符串,新建“HKEY-LOCAL-MACHINE”-“Stem”“CurrentControlSet”-“Control”-“HungAppTimeout”的数值数据为“200”。 开始―运行―输入“Regedit”―在打开的注册表编器中后步向下找到“Control”左击打开右窗格,右击右窗格空白处―新建―字符串―在名称中输入名称“HungAppTimeout”,双击该名称打开“编辑字符串”对话框,在“数值数据”框中输入数据数值“200”―确定。 (3)删除子键和键值:开始―运行-输入 regedit --确定,打开注册表编辑器,在左窗格右击你要删除的子键,选“删除”;在右窗格右击你要删除的键值项,选“删除”。 注意,为保险起见,修也注册表前要......>>

问题八:注册表文件的书写格式是什么? - 注释

REGEDIT4 大写顶格

空一行

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

↑注册表的位置,用 [ 和 ] 扩起来

MyTask=C:\Windows\System32\taskmgr.exe

↑新建一个键值,叫MyTask.键值的数据是一个程序的路径.

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

MyTask=C:\Windows\System32\taskmgr.exe

这个保存到 .reg 文件,就是一个把任务管理器添加到注册表中 开机自动启动的注册表文件了!

要学习 注册表文件 的话.

可以找一个要学习的注册表位置.

再对它 右键 - 导出

用记事本打开研究!

问题九:怎样将文件路径写入注册表中,越详细越好. 比如:

一个文件夹下面有多个文件,

想将其中的某一个文件的路径信息写入注册表中,且当文件路经改变时,可以重新写入路径信息。

delphi帮助信息中的例子:

procedure TForm1.WMEndSession(var Message: TWMEndSession);

var

Reg: TRegistry;

begin

Reg := TRegistry.Create;

try

Reg.RootKey := HKEY_CURRENT_USER;

if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then

begin

Reg.WriteString('MyApp','' + ParamStr(0) + '');

Reg.CloseKey;

end;

finally

Reg.Free;

inherited;

end;

end;

上面只能实现本应用程序所在的路径(包括程序名)。

能否实现与本程序在同以目录下的其他文件的路径?

或者是他们的上一层路径?

delphi中如何向注册表中写入二进制数据

设输入完整注册表路径为 HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Acrobat Reader\9.0\InstallPath

则下图中PRootKey变量值为 HKEY_LOCAL_MACHINE

PKey变量值为 SOFTWARE\Adobe\Acrobat Reader\9.0\InstallPath

具体怎么截取你自己写

下面供参考

var

Reg: TRegistry;

begin

Reg := TRegistry.Create ;

Reg.RootKey := PRootKey;

try

if Reg.OpenKeyReadOnly(PKey) then

ShowMessage('路径有效')

else

ShowMessage('路径无效')

finally

Reg.CloseKey;

Reg.Free ;

end;

end;

如何在Delphi中对注册表中的键值项判断存在与否

向注册表关键字中写入相关的数据值

在Tregistry类中提供了一系列的Write方法用来写入与当前关键字相关的数据值。常用方法的原型定义如下:

procedure

WriteString(const

Name,

Value

:

string);

procedure

WriteInteger(const

Name

:

string

Value

:

Integer);

procedure

WriteFloat(const

Name

:

string

Value

:

Double);

procedure

WriteTime(const

Name

:

string

Value

:

TDateTime);

procedure

WriteBool(const

Name

:

string

Value

:

Boolean);

DELPHi:删除注册表项及子项问题

var

Reg:TRegistry;

begin

result:=false;

try

Reg:=TRegistry(Self);

Reg.rootkey:=HKEY_LOCAL_MACHINE;

Reg.OpenKey('\SOFTWARE\Passwd');

if ValueExitst('pwdl') then

Result:=true;

finally

end;

end

Delphi语言读取系统注册表数据的方法

// 删除键

Registry.Deletekey('pc_client');

if registry.deletekey('pc_client') then

showmessage('ok');

其中Registry.Deletekey('pc_client')相当于执行了两次,到你IF 语句里执行结果肯定是FALSE,就肯定不出提示对话框了,把IF语句上面那句删除吧

还有就是ROOTKEY指定,不知道是不是你没贴出来

KEYSTR:='\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupregKey\pc_client';

Registry.RootKey := HKEY_LOCAL_MACHINE;

if not Registry.OpenKey(KEYSTR,false) then Exit;

try

// 删除键

if registry.deletekey(KEYSTR) then

showmessage('ok');

finally

Registry.CloseKey;

end;

finally

Registry.Free;

end;

你的语句里少个\ 你还少个not

aaa\bbb", "ccc", "ddd", "eee" 这个应该是作为一个字符整体存到一个键值下面的吧,你要先取得他是存到具体哪个根键下了。你取到这个根键值后对这个整体作字符串分离就能出来eee了。没用过VB,但存储和读取注册表,哪种语言都差不多,都是对API的调用。

//写注册表

procedure TForm1.Button1Click(Sender: TObject);

var

reg : TRegistry;

begin

try

reg := TRegistry.Create;

reg.RootKey := HKEY_CURRENT_USER;

if reg.OpenKey('\SOFTWARE\'+Application.Title,true) then

begin

reg.WriteString('test','看外观');

end;

finally

reg.CloseKey;

reg.Free;

end;

end;

//读注册表

procedure TForm1.Button2Click(Sender: TObject);

var

reg : TRegistry;

begin

try

reg := TRegistry.Create;

reg.RootKey := HKEY_CURRENT_USER;

if reg.OpenKey('\SOFTWARE\'+Application.Title,true) then

begin

showmessage(reg.ReadString('test'));

end;

finally

reg.CloseKey;

reg.Free;

end;

end;