2

有没有人成功创建了单页 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%”而不是预期的“我的测试应用程序”。

4

1 回答 1

2

Casablanca 在评论中链接的文档说明了必须如何完成,但是以迂​​回的方式。

答案在“间接字符串”中。您必须将多个字符串资源添加到 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 应使用德语字符串。任何其他语言版本都应该选择英文字符串。

于 2011-07-24T16:44:00.167 回答