1

我用谷歌搜索了这个

但是当我尝试应用它时,我得到了一个错误。所以安装/卸载工作正常,但服务本身只是没有启动,超时后它说服务没有响应。我不知道为什么。当我附加到进程时,它甚至没有进入 Main() 方法、静态构造函数等。我已经使用这个插件进行附加。

    public static void Main()
    {
        AppDomain.CurrentDomain.UnhandledException += OnException;

        if (Environment.UserInteractive)
        {
            AskUserForInstall();
        }
        else
        {
            ServiceBase.Run(new NotificatorService());
        }
    }

服务也很简单:

using System.ServiceProcess;
using System.Windows;

namespace AZNotificator
{
    public partial class NotificatorService : ServiceBase
    {
        static NotificatorService()
        {
            int x = 5;
        }
        public NotificatorService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            MessageBox.Show("Hello");
        }

        protected override void OnStop()
        {
        }
    }
}
4

1 回答 1

2

您不能MessageBox.Show("Hello");从 Windows 服务调用,因为该服务没有 GUI。

如果您想从 Windows 服务进行一些交互,请查看这篇文章

http://msdn.microsoft.com/en-us/library/ms683502(VS.85).aspx

因此MessageBox.Show("Hello");,从您的OnStart方法中删除,您的服务应该可以正常启动。

于 2013-10-09T16:25:08.117 回答