2014-04-01 31 views
0

VERSIONINFO resource具有InternalName屬性。爲什麼這是需要的,它的意義是什麼?它是每個DLL的必需屬性?這個屬性如何使用?什麼是DLL的VERSIONINFO.InternalName?

+4

我認爲你有責任告訴我們你的意思是「內部名稱」。 –

+2

@David Heffernan:OP是從versioninfo資源請求內部名稱。 '爲什麼需要?' - 不需要。 – user2120666

回答

4

相當主觀,但VERSIONINFO看起來確實是由委員會而不是程序員設計的。他們不知道什麼時候停止添加功能,每個人都有一些他們認爲重要的東西。確切的推理在時間的迷霧中消失了,而MSDN並沒有足夠具體的來猜測意圖。

至少有一部分精神分裂症是資源既可以被人讀取,也可以填充在資源管理器中看到的Details屬性表,也可以通過GetFileVersionInfo()和朋友進行機器可讀。特別是痛苦的 winapi使用。例如,這有點解釋了用兩個指定文件和產品版本號的方法的奇怪之處。作爲二進制數字和字符串。意圖使字符串可以被本地化,也許。

InternalName符合機器可讀的用法,請注意它如何不顯示在Details屬性表中。也許,這使得它「內部」。請注意,OriginalFilename屬性確實顯示出來,因此適用於人類。

關於爲什麼它很重要,因爲沒有固定的財產使用,幾乎沒有指導。它不會顯示在屬性表上,它不會被Windows本身使用。因此,完全取決於你想要你進入這裏,請注意它是必需品。也許你有一天會用它,我個人從未找到過。只需輸入模塊的名稱,就像您最初在規範中指定的一樣,只需將OriginalFilename設置爲與附加的.dll相同的字符串即可。