VERSIONINFO resource具有InternalName属性。为什么需要它,它的含义是什么?它是每个dll的必需属性吗?这个属性是如何使用的?
答案 0 :(得分:4)
相当主观,但VERSIONINFO看起来肯定是由委员会而不是程序员设计的。他们不知道何时停止添加功能,每个人都有一些他们认为重要的东西。确切的推理在时间的迷雾中消失了,MSDN的具体程度不足以猜测其意图。
至少部分精神分裂症是资源既可供人阅读,也可填写您在资源管理器中看到的详细信息属性表,以及可通过GetFileVersionInfo()和朋友阅读的机器。使用一个特别痛苦的 winapi。例如,这有点解释了使用两种方式来指定文件和产品版本号的奇怪之处。既可以是二进制数,也可以是字符串。意图可以将字符串本地化。
InternalName符合机器可读的用法,请注意它在详细信息属性表中是如何显示的。这也许就是“内部”。请注意,OriginalFilename属性确实显示,因此适用于人类。
由于没有固定使用该物业,因此很少有关于其重要性的指导。它没有显示在属性表上,并且它根本不被Windows本身使用。因此,完全取决于您是否希望您进入此处,请注意它是必需的属性。也许有一天你会有用它,我个人从来没有找到它。只需在规范中输入最初指定的模块名称,只需将OriginalFilename设置为相同的字符串,例如附加.dll即可。