这个愚蠢的问题使我发疯:我试图通过读取默认值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'
进行转义,但无济于事。
我想念一些明显的东西吗?