我有一些应用程序,例如 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
如果程序执行时所需服务尚未运行,许多应用程序可以自行启动所需服务。但主要问题是启动/停止服务需要管理员权限。因此,如果应用程序不是以管理员身份启动的应用程序之一,则此操作将不起作用。
但是有一个小型命令行工具可用,允许授予普通用户启动和/或停止某些服务的权限: