Installation INNO安装程序将多行文本常量写入注册表
在安装过程中,我想将一个长的多行/段落文本块写入注册表值 写入注册表值非常简单 [登记处] 根:香港中文大学;子项:“软件\我的公司\我的软件”;ValueType:字符串;ValueName:“消息”;ValueData:“一些文本” 但我宁愿定义一个多行文本常量来替换“some text” i、 例如 mytext=“某些长文本值\r\n正在另一行上” 根:香港中文大学;子项:“软件\我的公司\我的软件”;ValueType:字符串;ValueName:“消息”;ValueData:#mytextInstallation INNO安装程序将多行文本常量写入注册表,installation,inno-setup,Installation,Inno Setup,在安装过程中,我想将一个长的多行/段落文本块写入注册表值 写入注册表值非常简单 [登记处] 根:香港中文大学;子项:“软件\我的公司\我的软件”;ValueType:字符串;ValueName:“消息”;ValueData:“一些文本” 但我宁愿定义一个多行文本常量来替换“some text” i、 例如 mytext=“某些长文本值\r\n正在另一行上” 根:香港中文大学;子项:“软件\我的公司\我的软件”;ValueType:字符串;ValueName:“消息”;ValueData:#myt
我可能有点迟钝,但我不知道该怎么做——感谢您的帮助。谢谢使用一个简单的变量应该可以
#define mytext "some long text value\r\ngoing onto another line"
[Registry] Root: HKCU; Subkey: "Software\my company\My software"; ValueType: string; ValueName: "Message"; ValueData: "{#mytext}"
但是,将ValueType:string
写入Windows中的注册表意味着您正在写入REG_SZ
。\r\n
将在注册表值中显示为文本。大多数注册表工具不支持REG_SZ
值中的回车。它们将简单地显示字符
您必须在使用该注册表值的程序中自己处理它。一些例子
如果符合您的要求,更好的解决方案是告诉inno使用带有
ValueType:multisz
的REG\u MULTI\u SZ
。是以空字符串(\0)结尾的以null结尾的字符串序列。使用innomultisz
的类型值,可以使用名为{break}
的特殊常量嵌入换行符。有关用法,请参阅 注册表工具显示什么并不重要,重要的是它们可以读取什么,或者更确切地说,您的应用程序可以读取什么(如果我们在:,您的应用程序可以将例如
作为换行符处理)