.NET TIPS マニフェスト・ファイルをアプリケーションに組み込むには?デジタルアドバンテージ2004/11/26 |
|
|
「TIPS:WindowsアプリケーションをWindows XPスタイルの外観にするには?」の後半では、マニフェスト・ファイルを用いたWindows XPスタイルの実装方法について解説しているが、この方法では実行ファイルとは別に、マニフェスト・ファイルが必要となる。
本稿では、マニフェスト・ファイルをアプリケーションの実行ファイルに組み込んで、1つのファイルにまとめてしまう方法について解説する。
Visual Studio .NETを利用したマニフェスト・ファイルの組み込み
Visual Stuio .NET(以下、VS.NET)を利用してマニフェスト・ファイルを組み込むための具体的な手順を以下の図にまとめた。マニフェスト・ファイルは、.NETの機能ではなくWin32システムの機能なので、Win32リソースとしてアプリケーションへ組み込む必要がある
上記の手順を行い、リソースが追加された実行ファイル(.exeファイル)を実行すると、Windows XPスタイルが適用されているはずだ。
マニフェスト・ファイル組み込みの自動化
VS.NET(Visual C# .NETおよびVisual Basic .NET)は、.NET用の開発環境である。そのため、Win32リソースであるマニフェスト・ファイルの組み込みをVS.NETで自動化することは難しい。しかし、コマンドラインでビルドを行えば、これを簡単に自動化することができる。
具体的には、次のコマンドラインの例(VS.NETで自動生成したWindowsアプリケーションのプロジェクトの場合)のように、Win32リソース用のオプション(C#では「/win32res」オプション、VB.NETでは「/win32resource」オプション)を指定してビルドを行えばよい。
// C#の場合 |
' VB.NETの場合 |
Win32リソース・オプションに指定するWin32リソース・ファイル(.resファイル。本稿の例では「WindowsApplication1.res」)は、次の画面の手順により作成できる。
VS.NETを使ったWin32リソース・ファイル(.resファイル)の作成 | ||||||||||||||||||
Win32リソースであるマニフェスト・ファイルをアプリケーションに埋め込むには、Win32リソース・ファイル(.resファイル)を作成する必要がある。VS.NETでこれを作成するには、次の手順を実行する(作業手順は「VS.NETを使ったWin32リソース(マニフェスト・ファイル)の組み込み」の手順とほぼ同じ)。 | ||||||||||||||||||
|
以上でWin32リソースの作成は完了だ。後は次の画面の手順で、これをWin32リソース・ファイル(.resファイル)として保存すればよい。ここで注意してほしいのは、必ず.resファイルの形式で保存する必要があるということだ。次の画面でその手順を示す。
Win32リソース・ファイル(.resファイル)の保存 | ||||||
リソース・テンプレート・ファイル(.rctファイル。この例では「ResTempl1.rct」)をWin32リソース・ファイル(.resファイル。この例では「WindowsApplication1.res」)として保存する。この[名前を付けてファイルを保存]ダイアログを開くには、VS.NET IDEのメニューから[ファイル]−[名前を付けて <拡張子を除くファイル名> を保存](本稿の例では[名前を付けて ResTempl1 を保存])を選択すればよい。 | ||||||
|
以上の手順で作成したVS.NETのサンプル・プロジェクトは、次のリンクからダウンロードできる。
プロジェクトをビルドするためのコマンドライン内容は、バッチ・ファイル「BuildScript.bat」にまとめている。このバッチ・ファイルを実行すると、Win32リソース・ファイルを埋め込んだアプリケーション「StyleWinXP.exe」と、埋め込んでいないアプリケーション「StyleClassic.exe」が生成される。
カテゴリ:Windowsフォーム 処理対象:コントロール カテゴリ:Visual Studio .NET 処理対象:リソース 関連TIPS:WindowsアプリケーションをWindows XPスタイルの外観にするには? |
|
「.NET TIPS」 |
更新履歴 | |||||||||
|
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|