Delphi修改操作注册表权限的代码

Delphi教程 2025-08-29

需要uses jclwin32, AccCtrl; 此文件需要安装JCL

复制代码代码如下:

function AllowRegKeyForEveryone(Key: HKEY; Path: string): Boolean;

var

WidePath: PWideChar;

Len: Integer;

begin

case Key of

HKEY_LOCAL_MACHINE:

Path := 'MACHINE/' + Path;

HKEY_CURRENT_USER:

Path := 'CURRENT_USER/' + Path;

HKEY_CLASSES_ROOT:

Path := 'CLASSES_ROOT/' + Path;

HKEY_USERS:

Path := 'USERS/' + Path;

end;

Len := (Length(Path)+1)*SizeOf(WideChar);

GetMem(WidePath,Len);

MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Path), -1, WidePath, Len);

Result := SetNamedSecurityInfoW(WidePath, SE_REGISTRY_KEY,

DACL_SECURITY_INFORMATION, nil, nil, nil, nil) = ERROR_SUCCESS;

FreeMem(WidePath);

end;