如何收到有关我的服务已被卸载的通知?

时间:2018-06-28 15:59:49

标签: c# .net service

我想知道是否可以收到有关我的服务正在卸载的通知?

我可以收到我的服务已停止的通知。

    protected override void OnStop()
    {
        base.OnStop();
    }

但是如何知道它是否已被卸载?

1 个答案:

答案 0 :(得分:0)

事实证明,可以使用Service Control(sc)命令从安装程序中调用自定义参数:

 sc control <name_of_service> 129

其中129是由您的服务处理的自定义代码:

    protected enum customCommands
    {
        install = 128,
        uninstall = 129,
    }

    protected override void OnCustomCommand(int command)
    {
        base.OnCustomCommand(command);

        if (command >= 128 && command <= 255)
        {
            customCommands cust = (customCommands)command;

            switch (cust)
            {
                case customCommands.install:
                    break;

                case customCommands.uninstall:
                    break;

                default:
                    break;
            }
        }
    }