我有一個項目,爲了MUI的目的,在資源DLL中嵌入了一些圖標,位圖和字符串。這些在Windows 7中都工作得很好,但只有字符串和位圖可以在XP中運行。我使用VS2012在Windows 7上構建應用程序,並使用Visual Studio 2010(v100)作爲實際工具集。如何在Windows 7和XP之間共享包含圖標的資源DLL?
由於MUI本身不支持在XP上,我編程獲取基於步驟5.1c和5.2的this article on MSDN的相應資源DLL的句柄。
GetLastError函數後,我嘗試了我的圖標的LoadImage從我的XP資源的結果是1813,或ERROR_RESOURCE_TYPE_NOT_FOUND。在同一個資源句柄上爲LoadImage調用位圖或LoadString可以正常工作,事實上,我的字符串和位圖在適當的位置顯示。
事情我已經注意到了:如果我試圖打開我的應用程序的DLL的Windows 7設置的快捷方式的圖標沒有問題,但是Windows XP報告的文件不包含任何圖標。如果我將它們複製過來,XP沒有問題,所以我不認爲它們的格式不正確,除非資源編譯器以某種方式破壞它們。如果我在資源編輯器中查看圖標,它應該會顯示爲16x16 32位BMP文件。
感謝您發佈解釋。 – arx