我目前正在开发一个.NET项目,该项目在运行时使用CSharpCodeProvider构建可执行文件。
我想在构建的exe的Properties/Details选项卡中显示一些自定义值,所以我对这个主题做了很多研究。我发现这些值是由Windows资源管理器外壳从嵌入在可执行文件中的资源读取的。接下来的步骤是根据.RC创建一个规格说明文件,在StringFileInfo部分中添加我的自定义值,使用来自MS的资源编译器将它编译成.RES,然后使用/win32res编译器选项将它嵌入到exe中(就像打开项目属性并在Visual的应用程序选项卡上选择.RES文件一样)。
我认为这将是一个非常有效的解决方案,但不幸的是,它不是。我的Windows 7资源管理器外壳没有显示自定义值.我做错了什么?是否有可能做到这一点呢?
编辑:我的.RC文件内容是这里。
发布于 2013-12-02 11:51:34
Windows将不会在“属性”对话框的“详细信息”窗格中显示自定义值。在shell中显示的值是硬编码的,shell将不会解析您的资源并查找它不知道的值。所以,你想做的是注定要失败的。
顺便提一下,您确实需要在资源脚本中终止空字符串。因此,与其:
VALUE "FileDescription", "Test file"
VALUE "FileVersion", "1.0.0.0"
// etc.你需要:
VALUE "FileDescription", "Test file\0"
VALUE "FileVersion", "1.0.0.0\0"
// etc.https://stackoverflow.com/questions/20326471
复制相似问题