求教,以下代码咋读取不到?
uses
Registry;
var
Reg2: TRegistry;
a2: string;
begin{Reg2 := TRegistry.Create;
Reg2.rootkey := HKEY_LOCAL_MACHINE;
if Reg2.openkey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', False) then
a2 := Reg2.readstring('ANDROID_HOME');
begin
if Reg2.KeyExists(a2) then
ShowMessage('ANDROID_HOME键值是:' + a2)
else
ShowMessage('不存在ANDROID_HOME');
end}
注册表操作怕是要管理员权限,或者进程提权吧 无闻无问 发表于 2022-11-5 10:43
注册表操作怕是要管理员权限,或者进程提权吧
@无闻无问
法王姥爷的电脑向来是最高统帅的权限。 冥界3大法王 发表于 2022-11-5 10:58
@无闻无问
法王姥爷的电脑向来是最高统帅的权限。
能进程提权吗? 本帖最后由 lies2014 于 2022-11-5 12:38 编辑
KeyExists(a2)的参数不正确,所以返回肯定不存在,这个函数是判断主键是否存在,你给的是一个键值,如果判断键名是否存在需要用ValueExists,如果判断键值是否存在直接判断a2是否为空uses
Registry;
var
Reg2: TRegistry;
a2: string;
begin
Reg2 := TRegistry.Create;
Reg2.rootkey := HKEY_LOCAL_MACHINE;
if Reg2.openkey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', False) then
a2 := Reg2.readstring('ANDROID_HOME');
begin
if Reg2.ValueExists('ANDROID_HOME') then
ShowMessage('ANDROID_HOME键值是:' + a2)
else
ShowMessage('不存在ANDROID_HOME');
end;
end;
页:
[1]