最近作了个修改注册表的程序,写下自己的体会,希望初学者能少走弯路,也希望高手不吝赐教。
1.注册表结构:根键--子键--键值名--键值
如:根键HKEY_LOCAL_MACHINE
子键\SoftWare\Microsoft\Windows\CurrentVersion\Run
键值名RavMon
键值'c:\programfiles\...\ravmon.exe'
2.Delphi中根键封装为rootkey,子键称为key,键值名为valume
Delphi中引用注册表类先要在uses中加入registry
然后
var reg:tregistry;
reg:=tregistry.creat;
reg.rootkey:=HKEY_LOCAL_MACHINE;//这里不加''
记住最后要reg.free;
(1)打开子键reg.openkey('\SoftWare\Microsoft\Windows\CurrentVersion\Run',false);
//false是指若子键不存在则不创建,改为true则子键不存在时自动创建
(2)if reg.valumeexists('RavMon') then//判断键值名是否存在
(3)更改键值,先reg.openkey(),再reg.writestring('RavMon','c:\programfiles\...\ravmon.exe');
3.获取某一子键下所有键值名
if reg.openkey() then
reg.getvalumenames(ms);//ms为一tstringlist类型,应事先声明,并且不要声明为tstrings类型
4.若某一子键下有默认值(若从regedit中看时它没有键值名),可用下面方法更改其键值reg.writestring('','your string');
1.注册表结构:根键--子键--键值名--键值
如:根键HKEY_LOCAL_MACHINE
子键\SoftWare\Microsoft\Windows\CurrentVersion\Run
键值名RavMon
键值'c:\programfiles\...\ravmon.exe'
2.Delphi中根键封装为rootkey,子键称为key,键值名为valume
Delphi中引用注册表类先要在uses中加入registry
然后
var reg:tregistry;
reg:=tregistry.creat;
reg.rootkey:=HKEY_LOCAL_MACHINE;//这里不加''
记住最后要reg.free;
(1)打开子键reg.openkey('\SoftWare\Microsoft\Windows\CurrentVersion\Run',false);
//false是指若子键不存在则不创建,改为true则子键不存在时自动创建
(2)if reg.valumeexists('RavMon') then//判断键值名是否存在
(3)更改键值,先reg.openkey(),再reg.writestring('RavMon','c:\programfiles\...\ravmon.exe');
3.获取某一子键下所有键值名
if reg.openkey() then
reg.getvalumenames(ms);//ms为一tstringlist类型,应事先声明,并且不要声明为tstrings类型
4.若某一子键下有默认值(若从regedit中看时它没有键值名),可用下面方法更改其键值reg.writestring('','your string');
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货