在InnoSetup中获取Notepad ++安装目录

时间:2019-10-11 15:27:55

标签: registry notepad++ inno-setup

这个愚蠢的问题使我发疯:我试图通过读取默认值HKLM\SOFTWARE\Notepad++(即C:\Program Files\Notepad++)来从注册表中检索Notepad ++安装目录。

我尝试了不同的方法,这些方法都可以在 other 键上使用,但是在Notepad ++中 not 上可以使用。以下所有方法均可用于我尝试过的所有键,但 Notepad ++

// Using RegQueryStringValue
var
  Mess: String;
...
If RegQueryStringValue(HKLM, 'SOFTWARE\Google\Chrome\NativeMessagingHosts\com.avast.nativeproxy', '', Mess) Then
  MsgBox('Retrieved: '+Mess, mbInformation, MB_OK)
Else
  MsgBox('Wala', mbError, MB_OK);
// Using registry constants
MsgBox('Your NPP: '+ExpandConstant('{reg:HKLM\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.avast.nativeproxy,}), mbInformation, MB_OK);

每当我将SOFTWARE\Google\Chrome\NativeMessagingHosts\com.avast.nativeproxy替换为SOFTWARE\Notepad++时,都会得到一个空字符串(或者RegQueryStringValue()返回false)。

我认为++可能会引起问题,所以我也尝试将它们加倍,用'Notepad'+#43+#43'Notepad%43%43'进行转义,但无济于事。

我想念一些明显的东西吗?

0 个答案:

没有答案