2011-12-21 18 views
2

目前我正在使用C++開發Windows服務,使用winapiboost。因爲不要在源代碼中編寫字符串(比如「服務已啓動」),並且由於國際化方面的原因,我正在考慮一種管理應用程序的消息/標題的技術。在WinAPI項目中管理字符串資源的現代方式

我找到了一個code project article,它描述了消息編譯器(mc.exe)與資源文件結合使用。但這種方式看起來有點不尋常。作者寫道,消息編譯器是一個很少使用的工具,文章也很老。因此,我想問一下,在一個只依賴windows API和boost的項目中管理字符串的現代方式是什麼。

我希望有人能給我一個提示。

+1

僅供參考源代碼中您想要的一個字符串是:「無法加載字符串資源」 – 2011-12-21 19:02:55

+1

消息表通常用於外部庫/應用程序使用(事件查看器,庫錯誤消息轉換等)。字符串表在一個進程中更經常用於內部,並且允許字符串ID高達32K,我相信。 – Deanna 2011-12-22 09:12:50

回答

3

對於Windows應用程序,我建議在資源文件中使用老式的STRINGTABLE,並使用LoadString() API。

服務也可以使用上述,但有一個明顯的例外。如果您的服務需要將消息發佈到Windows事件日誌,那麼您需要使用消息編譯器將這些消息/格式字符串作爲資源存儲在應用程序中。 This article(雖然簡潔)包含了需要做什麼來支持這一點的總結。

相關問題