高手们!问题来了!(50分)

  • 主题发起人 主题发起人 花 儿
  • 开始时间 开始时间

花 儿

Unregistered / Unconfirmed
GUEST, unregistred user!
我在HKEY_CLASSES_ROOT----txtfile----shell----open----command
下写入键值
begin
; ; try
; ; ; reg:=tregistry.Create;
; ; ; reg.RootKey:=HKEY_CLASSES_ROOT;
; ; ; reg.OpenKey('txtfile/shell/open/command',true);
; ; ; reg.WriteString('(默认)',ParamStr(0)+' "%1"');
; ; ; reg.CloseKey;
; ; finally
; ; ; reg.CloseKey;
; ; ; reg.Free;
; ; end;
可是我没办法改变系统原来的键值!而是给我新建了一个!!$%@$%^&#¥!
(默认) ; c:/windows/notebook "%1" ; ; ; ; ; ;//系统原来的
(默认) ; F:/记事本/PROJECT1.EXE "%1" ; ; ; ; ; ;//我自己编程的

竟然有两个一样的键值?而我要覆盖掉系统原来的!!!!救救我把?
 
嘿!此默认非彼默认,你的想法很好玩!呵呵。
看下面的代码。
写注册表默认值
; procedure Write_Default_Key(Key, Value: string);
; var
; ; Reg: TRegistry;
; begin
; ; Reg := TRegistry.Create;
; ; try
; ; ; Reg.RootKey := HKEY_LOCAL_MACHINE;
; ; ; if Reg.OpenKey(Key, True) then
; ; ; ; Reg.WriteString('', Value);
; ; finally
; ; ; Reg.CloseKey;
; ; ; Reg.Free;
; ; end;
; end;

删除注册表默认值
; procedure Delete_Default_Key(Key, Value: string);
; var
; ; Reg: TRegistry;
; begin
; ; Reg := TRegistry.Create;
; ; try
; ; ; Reg.RootKey := HKEY_LOCAL_MACHINE;
; ; ; if Reg.OpenKey(Key, True) then
; ; ; ; Reg.DeleteValue('');
; ; finally
; ; ; Reg.CloseKey;
; ; ; Reg.Free;
; ; end;
; end;
 
看来我的经验不多呀。。。。

过几天就要去实习了。哎。。。。不要被别人笑说练注册表都搞不清呀!
 
我当年也是折腾了半天,才试出来的,用个空值。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
549
import
I
后退
顶部