C#メモ コンソールなアプリケーションでTaskDialogを表示してみる

C#

前回(記事はここ)は途中で諦めちゃったけど…コメントでアドバイスいただいたので試してみることに。

ポイントはこんなとこ。

  • Windows API Code Packをインストールする
  • アプリケーションマニュフェストファイルを追加する
  • アプリケーションマニュフェストファイルのdependencyタグのところのコメントを外す
  • TaskDialogを作成&表示する

コンソールアプリケーションを作っといて…Windows API Code Packをインストールする。
インストールする手順は前回(記事はここ)の内容を参考に。

んで、プロジェクトにマニュフェストファイルを追加しとく。
追加したらこんな感じ。

んで、マニュフェストでdependencyタグのところがコメントになっているので外す。
コメントを外したとこはこんな感じ。

<!-- Windows のコモン コントロールとダイアログのテーマを有効にします (Windows XP 以降) -->
<dependency>
  <dependentAssembly>
    <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="*"
        publicKeyToken="6595b64144ccf1df"
        language="*"
      />
  </dependentAssembly>
</dependency>

で、今回のコードはこんな感じ。

try
{
	// ダイアログを作成する
	Microsoft.WindowsAPICodePack.Dialogs.TaskDialog dialog = new Microsoft.WindowsAPICodePack.Dialogs.TaskDialog();
	dialog.Caption = @"ダイアログのタイトル";
	dialog.InstructionText = @"メッセージを表示する";
	dialog.Text = @"もう少し詳しいメッセージを表示する‘";
	dialog.Icon = Microsoft.WindowsAPICodePack.Dialogs.TaskDialogStandardIcon.Information;
	dialog.StandardButtons = Microsoft.WindowsAPICodePack.Dialogs.TaskDialogStandardButtons.Ok;
	// ダイアログを表示する
	dialog.Show();
}
catch(Exception exception)
{
	Console.WriteLine(exception.Message);
}
finally
{
	Console.WriteLine(@"何かキーを押すとプログラムを終了します...");
	Console.ReadKey();
}

実行してみるとこんな感じ。

ちなみに、今回書いたコードはコンソールをキー入力待ちで止めるようにしてある。

あざっす!
そんなこんなで、明日への自分へのメモってことで。