有没有人成功创建过单页autorun.inf文件? * .inf文件的文档建议
[autorun]
open="MyApp.exe"
icon=MyApp.exe,0
label=%AppLabel%
action=%AppAction%
[Strings]
AppLabel = "My test app"
AppAction = "Start my test app"
[Strings.0407] ; 0407 is the language ID for German
AppLabel = "German my test app"
AppAction = "German start my test app"
应该有效。我发现该标签(显示在自动运行对话框中)显示'%AppLabel%'而不是预期的'我的测试应用'。
答案 0 :(得分:2)
卡萨布兰卡在评论中联系的docs告诉我们必须如何做到这一点,不过这是一种迂回的方式。
答案在"indirect strings"。您必须将多个字符串资源添加到EXE或DLL文件中,所有这些资源都具有相同的ID但指定了不同的语言(通过LANGUAGE
语句。)然后,您可以通过间接引用autorun.inf
文件中的这些字符串字符串语法:@filename,-id
间接字符串的语法是@
符号,后跟包含您引用的字符串资源的文件名,后跟逗号,减号,然后是您引用的字符串ID。
示例:
[autorun]
open="MyApp.exe"
icon=MyApp.exe,0
label=@MyApp.exe,-100
action=@MyApp.exe,-101
这要求您在EXE中包含一个包含所有本地化字符串的字符串表资源。它在RC文件格式中看起来像这样:
#include <winresrc.h>
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
100 "English MyApp
101 "English MyApp description text"
END
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
100 "German MyApp
101 "German MyApp description text"
END
如果用户安装了德语版本的Windows,或者选择德语作为他的MUI语言,Windows应该使用德语字符串。任何其他语言版本都应该选择英文字符串。