在 Windows Vista 及更高版本中,服务无法再访问 GUI。然而,在编写了一个将消息从我的服务传递到辅助 GUI 应用程序的简单机制之后,我发现了以下重载 for System.Windows.Forms.MessageBox.Show
,其中“MessageBoxOptions”参数引起了我的注意:
public static DialogResult Show(
string text,
string caption,
MessageBoxButtons buttons,
MessageBoxIcon icon,
MessageBoxDefaultButton defaultButton,
MessageBoxOptions options
)
更仔细地查看枚举,其中一个有效选项是MessageBoxOptions.ServiceNotification
,它在MSDN上指出:
消息框显示在活动桌面上。调用者是通知用户事件的服务。即使没有用户登录到计算机,该功能也会在当前活动桌面上显示一个消息框。
这是否意味着通过传递MessageBox.Show()
此选项的方法,我的服务实际上可以处理显示来自服务的简单消息,而无需在 Vista、Windows 7 及更高版本中使用帮助应用程序?