我使用Topshelf提供了一个控制台应用程序服务,该服务每7天在后台自动运行一次。需要2个输入请求,这些输入请求会在自动运行之前保存在Config中以进行安装。我为此创建了一个弹出窗口,并成功隐藏了控制台应用程序窗口(因为我不希望用户看到该应用程序窗口。)。但是控制台应用程序。 TopshelfExitCode类正在等待用户输入(ctrl + C),因此安装后没有在后台关闭自身。这导致应用程序不重新启动以检查是否必须执行此操作的目的还是没有,因为它已经在运行。
我试图中途关闭该应用程序,但是如果我这样做,则无法正常工作。我以为也许我可以尝试自动输入用户输入,但是我无法成功。我的最后一招是创建一个重写类,但同样失败了。
this._log.InfoFormat("The {0} service is now running, press Control+C to exit.", (object) this._settings.ServiceName);
this._exit.WaitOne();
简而言之,我只是试图关闭和隐藏控制台应用程序。没有任何用户引用。