2011-12-21 7 views
2

現時点では、winapiboostを使用してC++でWindowsサービスを開発しています。ソースコードに文字列を書かないのは良いスタイルです(「サービスが開始されました」など)。また、国際化の側面から、アプリケーションのメッセージ/キャプションを管理する手法を検討しています。最新の方法でWinAPIプロジェクトの文字列リソースを管理する

メッセージファイルコンパイラ(mc.exe)をリソースファイルと組み合わせて使用​​する方法について説明したcode project articleが見つかりました。しかし、この方法は少し珍しいようです。著者は、メッセージコンパイラはめったに使用されないツールであり、記事もかなり古いと書いています。そのため、私はWindows APIとブーストだけに依存するプロジェクトで文字列を管理する現代的な方法が何であるか尋ねたいと思います。

誰かが私にヒントを与えてくれることを願っています。

+1

参考:ソースコードで必要な文字列の1つは「文字列リソースをロードできません」 –

+1

メッセージテーブルは通常、外部のライブラリ/アプリケーション用に使用されます(イベントビューア、ライブラリエラーメッセージ変換など)プロセス内でより頻繁に内部的に使用され、32Kまでの文字列IDを信じています。 – Deanna

答えて

3

Windowsアプリケーションの場合、リソースファイルには古き良きSTRINGTABLEがあり、LoadString() APIを使用することをおすすめします。

サービスは、上記のものを利用することもできますが、特に例外はあります。サービスがWindowsイベントログにメッセージを投稿する必要がある場合は、メッセージコンパイラを使用して、メッセージ/フォーマット文字列をリソースとしてアプリケーションに格納する必要があります。 This article(簡潔ながら)には、これをサポートするために必要なことの要約が含まれています。

関連する問題