为什么我在service里无法读取注册表里的字符串啊?
程序如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Registry, Classes, Graphics, Controls, SvcMgr, Dialogs;
type
Thh = class(TService)
procedure ServiceExecute(Sender: TService);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
hh: Thh;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
hh.Controller(CtrlCode);
end;
function Thh.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure Thh.ServiceExecute(Sender: TService);
var reg : TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
if reg.OpenKey('\Software\Kjtj',false) then
begin
ShowMessage(reg.ReadString('kjiefs'));
reg.CloseKey;
end;
reg.Free;
end;
end.
我将这段代码放到普通应用程序里就可以正确读取到字符串,而在服务里就是读不出来,不知道为什么,百思不得其解啊,哪位帮帮忙吧,谢谢了。