Windows Vista 以降では、サービスは GUI にアクセスできなくなりました。しかし、自分のサービスからヘルパー GUI アプリケーションにメッセージを渡す簡単なメカニズムを作成した後System.Windows.Forms.MessageBox.Show
、「MessageBoxOptions」パラメーターが私の目を引いた、次のオーバーロードを見つけました。
public static DialogResult Show(
string text,
string caption,
MessageBoxButtons buttons,
MessageBoxIcon icon,
MessageBoxDefaultButton defaultButton,
MessageBoxOptions options
)
列挙型をより詳しく見ると、有効なオプションの 1 つが であり、MSDNでMessageBoxOptions.ServiceNotification
次のように述べられています。
アクティブ デスクトップにメッセージ ボックスが表示されます。呼び出し元は、ユーザーにイベントを通知するサービスです。この関数は、コンピュータにログオンしているユーザーがいない場合でも、現在アクティブなデスクトップにメッセージ ボックスを表示します。
これは、メソッドにこのオプションを渡すことMessageBox.Show()
で、Vista、Windows 7 以降でヘルパー アプリケーションを使用しなくても、サービスからの単純なメッセージの表示を実際に処理できるということですか?