访问带有引号的注册表项
Accessing the registry key having Quotation Mark
我想从 Delphi XE2
打开 XXX'XX 格式的注册表项
Rootpath := '\SOFTWARE\XXXX XXXX\XXXXX''XXX\XXX';
Reg.OpenKey(Rootpath, FALSE);
因为 Delphi 的转义字符是 '' 我无法打开注册表。
正在寻求您的帮助。提前致谢。
在字符串中使用 ''
转义单引号效果非常好。结果字符串包含单个字符。这就是逃避它的全部意义所在。要让自己相信这一点,请尝试将这样的字符串写入控制台,或将其显示在消息框中。
{$APPTYPE CONSOLE}
begin
Writeln('XXX''XXX');
end.
这个程序输出:
XXX'XXX
实际情况是您的问题出在别处。可能的原因包括:
- 你弄错了路径,或者
- 您没有考虑注册表重定向,或者
- 您的用户没有足够的权限使用您请求的权限打开密钥。
我想从 Delphi XE2
打开 XXX'XX 格式的注册表项Rootpath := '\SOFTWARE\XXXX XXXX\XXXXX''XXX\XXX';
Reg.OpenKey(Rootpath, FALSE);
因为 Delphi 的转义字符是 '' 我无法打开注册表。
正在寻求您的帮助。提前致谢。
在字符串中使用 ''
转义单引号效果非常好。结果字符串包含单个字符。这就是逃避它的全部意义所在。要让自己相信这一点,请尝试将这样的字符串写入控制台,或将其显示在消息框中。
{$APPTYPE CONSOLE}
begin
Writeln('XXX''XXX');
end.
这个程序输出:
XXX'XXX
实际情况是您的问题出在别处。可能的原因包括:
- 你弄错了路径,或者
- 您没有考虑注册表重定向,或者
- 您的用户没有足够的权限使用您请求的权限打开密钥。