delphi在Registry单元里封装了注册表相关操作。顺手写一段吧:user Registry;var reg:TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HEEY_CLASSES_ROOT; if reg.OpenKey('\ShockwaveFlash.ShockwaveFlash.6\CLSID, True) then ShowMessage('OK'); finally reg.CloseKey; reg.Free; end; end;
打错了,前面是 uses Registry;
procedure TForm1.Button1Click(Sender: TObject); var reg:tregistry; begin reg:=tregistry.Create; reg.RootKey:=HKEY_CLASSES_ROOT; reg.CloseKey; if reg.OpenKey('ShockwaveFlash',false) then begin if reg.ReadString('hockwaveFlash')='7' then showmessage('installed') else showmessage('not installed'); end else showmessage('not installed'); reg.free; end;
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Registry;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } function GetRegistryValue(KeyName: string): string; end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); begin GetRegistryValue('11'); end; function TForm1.GetRegistryValue(KeyName: string): string; var Registry:TRegistry; AppKey:String; begin Registry := TRegistry.Create(KEY_READ); AppKey :='\Software\QQ'; try try Registry.RootKey := HKEY_LOCAL_MACHINE; IF(Registry.OpenKey(AppKey, False)) then begin edit1.Text := Registry.ReadString('userName'); end; except showmessage('false'); end; finally Registry.Free; end; end; end.
郁闷...
看看TRegistry的帮助吧,不难的.
reg:TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HEEY_CLASSES_ROOT;
if reg.OpenKey('\ShockwaveFlash.ShockwaveFlash.6\CLSID, True) then
ShowMessage('OK');
finally
reg.CloseKey;
reg.Free;
end;
end;
uses Registry;
var
reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
reg.CloseKey;
if reg.OpenKey('ShockwaveFlash',false) then
begin
if reg.ReadString('hockwaveFlash')='7' then
showmessage('installed')
else
showmessage('not installed');
end else
showmessage('not installed');
reg.free;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Registry;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function GetRegistryValue(KeyName: string): string;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
GetRegistryValue('11');
end;
function TForm1.GetRegistryValue(KeyName: string): string;
var
Registry:TRegistry;
AppKey:String;
begin
Registry := TRegistry.Create(KEY_READ);
AppKey :='\Software\QQ';
try
try
Registry.RootKey := HKEY_LOCAL_MACHINE;
IF(Registry.OpenKey(AppKey, False)) then
begin
edit1.Text := Registry.ReadString('userName');
end;
except
showmessage('false');
end;
finally
Registry.Free;
end;
end;
end.