7

PC の電源がオフになってサスペンド モードになったときに Windows サービスを停止し、PC が再開されたときにサービスを再起動する必要があります。これを行う適切な方法は何ですか?

4

4 に答える 4

0

これは、Windows サービスの機能の 1 つです。

シャットダウン

シャットダウンは、PC のシャットダウン時に自動的に行われます。何もする必要はありません。クリーンアップを行うには、サンプルServiceBaseなどの型メソッドをオーバーライドする必要がありますOnPowerEvent

public class WinService : ServiceBase
{
    protected override void OnStart(string[] args)
    {
        ...
    }

    protected override void OnStop()
    {
        ...
    }

    protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
    {
            ...
    }
}

始める

ServiceStartMode.Automaticサービスを自動的に開始するには、ここで好きなように設定する必要があります

[RunInstaller(true)]
public class WindowsServiceInstaller : Installer
{
    private readonly ServiceProcessInstaller _process;
    private readonly ServiceInstaller _service;

    public WindowsServiceInstaller()
    {
        _process = new ServiceProcessInstaller
        {
            Account = ServiceAccount.LocalSystem
        };
        _service = new ServiceInstaller
        {
            ServiceName = "FOO",
            StartType = ServiceStartMode.Automatic, // <<<HERE
            Description = "Foo service"
        };
        Installers.Add(_process);
        Installers.Add(_service);
    }
}
于 2013-05-16T16:52:46.013 に答える