2011-12-12 42 views
0

我的exe(一個MFC應用程序)包含幾個圖標。我可以通過IconExplorer應用程序查看它們及其索引。當我在Windows 7和XP下構建相同的項目時,我注意到圖標的索引發生了變化(兩者都是Visual Studio 2010)。這是一個問題,因爲我指的是圖標索引在安裝過程中註冊/設置它們。我可以在exe中設置/更改圖標的默認索引嗎?

有沒有一種方法可以控制哪些圖標可以在索引0處設置,哪些可以在索引1等等?

我不知道爲什麼索引從Windows 7構建和XP構建改變,這兩個都來自同一份源代碼。如果我們不能指定這些指數,那麼這不會使它們有點多餘,因爲我們無法可靠地使用它們?

回答

2

確保具有最低ID值的圖標首先放置在您的RC文件中。這確保了圖標在所有系統上保持一致。因此,按他們的ID對他們進行分類。

此外,請確保ID值大於128,因爲這通常是主圖標(您希望位於索引0)的值。

更新:不確定這一點,但也許區域設置可能會干擾?例如。你的任何圖標都是非中立資源嗎?

+0

不知道什麼非中立的手段,但像任何其他應用程序我的exe文件很少。我認爲它與你指出的資源ID有關,但它們在兩個版本中基本相同。 – zar

+1

您可以在VisualStudio中打開您的exe文件,並使用那裏的資源編輯器直接查看編譯後的資源。據我所知,最低的ID始終放在文件中,然後是下一個最低的ID,等等...... – Mordachai

+0

我假設資源ID是相同的。但是,它們必須按升序排列。否則,可能會在* some *系統上失敗。 – l33t

相關問題