以程序启动和结束的方式启动/停止服务

以程序启动和结束的方式启动/停止服务

我有一些应用程序,例如 VMWare、SQL Server,即使我不使用这些软件,它们也会启动很多服务。我已将这些服务的启动方式改为手动,并创建了一个.bat文件来启动这些服务,然后启动该程序。

但这不是一种有效的解决方案。我希望在应用程序启动时启动服务,并在应用程序关闭时停止服务。

有人知道有什么解决办法吗?

答案1

获取脚本来启动程序:

启动/等待应用程序.exe

/wait 参数将等待其终止,然后继续:

净停止服务

答案2

在.bat文件中您可以:

1)启动所需服务

2)执行特定程序并等待完成

3)停止在1)中启动的服务

您可以更进一步 - 将可执行程序作为 .bat 文件的参数,以防多个程序需要类似或相同的服务。

答案3

说实话,我不知道如何让你的批处理文件自动停止你的服务,除非该程序允许你在关闭时运行命令,但这并不常见。

如果批处理文件在后台运行并保持打开状态,则它可能会在您退出程序时执行此操作,但您真的希望命令框在您使用程序时一直打开,并等待您结束使用它吗?那会让我发疯的。

我会使用您的批处理文件来启动服务,然后启动程序,不用担心服务会停止,直到重新启动为您完成,或者创建一个单独的批处理文件来停止服务(如果您确实需要的话)。以下是开始使用的示例批处理文件:

网络启动服务名称 网络启动服务名称“C:\Program Files\Microsoft Office\Office14\winword.exe”

您可以在这里找到网络启动/停止所需服务的真实名称:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services

答案4

如果程序执行时所需服务尚未运行,许多应用程序可以自行启动所需服务。但主要问题是启动/停止服务需要管理员权限。因此,如果应用程序不是以管理员身份启动的应用程序之一,则此操作将不起作用。

但是有一个小型命令行工具可用,允许授予普通用户启动和/或停止某些服务的权限:

执行文件 http://www.losoft.de/ls_scacl.html

相关内容