Articles of 窗口服务

即使在用户注销后,也可以在Windows中运行Java进程

我有一个batch file在Windows 2003服务器中启动Java进程。 根据安全策略,如果用户在一段时间内处于非活动状态,那么该机器的用户将被强制注销。 问题是,当用户注销时,该进程也会死亡。 我安排了一个新的任务(控制面板 – >计划任务),并select了“当我的电脑启动”选项,并在那里提供了用户帐户的详细信息。 但它似乎没有任何效果,用户仍然注销并且进程死亡。 是否需要重新启动才能使此更改生效? 重启后,我会达到我期望的(保持进程活着)? 或者,将运行此过程作为Windows服务解决问题? 如果是这样,你可以让我知道我怎样才能使Java程序或batch file作为Windows服务运行? 我不想使用任何其他第三方工具或库。 谢谢

Windows服务可以自行停止吗?

我有一个Windows服务,其启动types是自动的,但我想在服务启动时做一些检查,如果这些检查失败,服务会自动停止。 我怎样才能做到这一点? 我的服务是用C#编写的。

从Windows服务调用时,SetThreadExecutionState不起作用

我想阻止系统从Windows服务hibernate/hibernate。 我正在调用SetThreadExecutionState函数来做到这一点。 但似乎没有效果。 我只想知道SetThreadExecutionState函数是否适用于windows服务。 如果不是什么将是替代方法。 以下是我正在使用的C#代码。 我打电话给Onstart服务的方法。 [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern uint SetThreadExecutionState(EXECUTION_STATE esFlags); private void KeepAlive() { SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS) }

将PHP脚本设置为Windows服务

我需要build立一个PHP脚本作为一个Windows服务。 我需要它运行,无论用户login,并在系统启动 – 这听起来像一个Windows服务是最好的,但很高兴听到其他build议。 (这个脚本持续运行,这不是一个“每5分钟运行一次”的事情,我可以使用计划任务pipe理器。) http://support.microsoft.com/kb/251192涵盖使用sc.exe程序来安装您的服务。 但从我读过的,我需要有一个包装PHP脚本来接受来自Windows服务pipe理器的特殊命令。 有人能帮忙吗?

Windows服务与Windows窗体在相同的过程中

我有ac#应用程序作为一个Windows服务控制套接字连接和其他东西运行。 此外,还有另一个Windows窗体应用程序来控制和configuration此服务(系统启动,停止,与configuration参数显示表单)。 我使用.net远程做IPC,这很好,但现在我想显示一些真正的stream量和其他报告和远程处理将不符合我的性能要求。 所以我想把两个应用程序结合在一起。 这是问题: 当我从Windows服务启动窗体时,什么都没有发生。 谷歌search我发现,我必须右键点击该服务,去login和检查“允许服务与桌面交互”选项。 由于我不想问我的用户这样做,我有一些代码再次谷歌search在安装时在用户的registry中设置此选项。 问题是,即使设置这个选项,它不起作用。 我必须打开服务的login选项(它被选中),取消选中并再次检查。 那么,如何解决呢? 如何在同一个进程中拥有一个带有系统托pipe的Windows服务的最佳方式,可供任何用户login? 更新:感谢迄今为止的意见,伙计们。 我同意使用IPC更好,我知道混合windows服务和用户界面是不好的。 即使如此,我想知道如何做到这一点。

多个Windows服务在一个EXE

我正在试图build立几个Windows服务来做不同的事情。 例如,我需要Windows服务,将: 通过电子邮件发送每日报告 定期清理一些存档信息,每30分钟一次 等等 我需要Windows服务做的任务是截然不同的,所以我不太喜欢把它们都放在一个服务中的想法。 我到目前为止是Visual Studio 2008中的一个项目。我已经创build了一个Windows服务,我已经在OnStart事件上设置了一个计时器(它只是为了testing目的每5秒写一个文本文件)。 然后我添加一个安装程序到项目中,当我运行InstallUtil.exe时,一切工作正常。 当我将第二个Windows服务添加到同一个项目时,问题就出现了。 我再次设置了OnStart代码,使用相同的日志信息(略有不同,所以我可以告诉哪个服务正在写入日志)。 随着第二个Windows服务,我改变了Program.cs中的主要事件: static void Main(string[] args) { ServiceBase[] ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); } 至: static void Main(string[] args) { ServiceBase[] ServicesToRun = new ServiceBase[] { new Service1(), new Service2() }; ServiceBase.Run(ServicesToRun); } 在这一点上,没有编译时错误,但Service2服务从不做任何事情…日志logging任务不会触发。 我将其缩小到第二个服务没有与之关联的“安装者”的事实。 然后,我尝试按照第一个服务的方式添加安装程序(即,右键单击服务devise器,然后单击“添加安装程序”)。 现在,当我去到ProjectInstaller.cs文件,那里有另一个serviceInstaller(serviceInstaller2)。 现在,当我build立项目,并尝试安装服务,我去“服务”控制面板窗口,我尝试启动Service1,我得到以下错误信息: Windows无法在本地计算机上启动Service1服务。 错误1083:此服务被configuration为运行的可执行程序不执行该服务。 […]

如何使用C#findWindows服务的安装目录?

我很确定,使用InstallUtil.exe安装Windows服务时,它的C:\ winnt(或类似的)作为其工作目录。 有什么方法可以访问,或以其他方式捕获(在安装时)服务最初安装的目录? 目前我手动input到app.exe.config文件,但这是可怕的手动,感觉像一个黑客攻击。 有没有一个编程的方式,无论是在运行时间或安装时间,以确定服务的安装位置?

使用SC.exe设置服务凭据密码失败

我知道这个问题过去曾被问过,但是没有提供一个满意的答案。 我正在使用SC命令来configuration服务的凭据。 SC.exe config "SERVICE NAME" obj= "domain\user" password= "password" 这成功完成,但是当我启动服务时,它不能执行login。 [ NET START "service name" ] 如果我手动更新从services.msc的密码,那么当我启动服务,它工作正常。 我有数百台服务器来更新这个更改发生在部署的中间,所以手动干预不是一个选项。 我已经尝试使用configuration来更新login帐户,然后另一个configuration命令的密码。 从所有帐户, SC.exe不适用于密码和Microsoft没有帮助。 想法?

c#Windows服务是(可能)使用app.config

我正在开发一个windows服务,而且我差不多完成了, 我正在使用Visual Studio 2012。 我连接到App.config文件以读取连接string,因为Windows服务处理数据库中安装的数据。 我可以在我的机器上安装这个Windows服务,但是我问,安装后这个服务是否仍然能够从App.config读取? 或者我必须硬编码的连接string? 我希望我能解释我的问题。 但是,如果你不理解我,请告诉我更多的通知。 最好的问候,

有没有办法从Windows 7上的Windows服务启动GUI应用程序?

我已经做了大量的search,以find一种方法来从Windows 7上的Windows服务启动一个GUI应用程序。我发现的大部分是,现在Windows 7服务运行在一个单独的用户会话,不能显示任何graphics界面给当前用户。 我想知道是否有任何forms的解决方法或不同的方式来完成这样的事情? 服务可以在不同的用户会话中启动一个进程吗?