SrvanyUI服务管理工具发布
提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!
之前一篇介绍如何使用微软的实用小工具srvany.exe来添加Windows服务的文章,涉及到注册表操作,颇为不便,所以空闲之时自己编写了这个工具,算是对手动创建服务的一个简化吧。
我在想如果要写这么个软件,干脆就把功能写全一些,于是SrvanyUI这款Windows服务管理工具就诞生了,我给本软件定义的描述如下:
Windows XP/Vista/7 下NT服务管理器,用于管理Windows环境下系统服务和驱动服务项目,本软件特色是提供了利用微软实用工具srvany.exe将任何程序创建为自定义服务的人性化操作界面,除此之外还包含1.服务的创建、修改和删除;2.更改服务的状态(运行、暂停和停止);3.查看服务的详细信息,定位服务程序。
其实很多功能Windows自带的服务管理控制台(services.msc)都包含了,所以本软件突出支持利用srvany.exe创建自定义服务这项特色,另外还弥补了系统自带的服务管理器不能创建服务和删除服务的短处。
软件截图如下:
下面我举个简单的例子来说明如何利用本软件创建基于srvany.exe的服务程序:
1. 确认软件配置中srvany.exe的路径是否正确,默认安装的情况下位于安装目录下,不过建议移至系统目录下:
2. 选择 文件 - 增加 来创建一项服务,服务类型选择自建服务:
3. 提示是否立即启动服务,如果要立即启动则选择是,或者稍后通过 项目 - 运行 来启动:
4. 接下来服务就创建完毕了,你可以修改、删除或者控制该服务的状态:
在这个过程中 如果安全软件提示风险操作请允许 ,否则本程序将无法获取操作权限而导致操作失败。
当然最后要说明的是: 本软件为我利用自己空闲时间编写,限于时间仓促以及个人能力有限所以我不保证本软件不含有缺陷(Bug)。对于使用本软件以后的一切后果我不承担任何责任。但是会在友情帮助的前提下免费提供一些解决方法。
警告: 本程序的部分操作对于系统有一定的风险,除非你确信你要这么做,否则请不要操作相关数据。
为了适应不同的口味,我分别将其分为安装版和绿色版发布,这两种版本都自带有srvany.exe这个实用工具,安装版可以自由选择是否安装。
下载地址一:[download id="1134"] 下载地址二:[download id="1136"] 华军软件园下载地址(安装版)
谢谢,非常使用的工具,寻觅已久...
感谢你的关注,这个小工具是我空闲的时候编写,也没有精力做全面测试,如果有什么Bug或者使用上的问题欢迎反馈,最后希望这个工具能够帮助到你:-)
围观しましょう。
歓迎^-^
很好用,谢谢。 有个问题:自建服务和其他两个服务有什么区别?
不客气:-) 自建服务就是利用了微软的实用工具srvany.exe来将你所指派的任何exe程序作为服务运行,详细可见《使用srvany.exe将任何程序作为Windows服务运行》,本文以php-cgi作为示例,单独不能将php-cgi.exe创建为普通服务,因为其不是按照服务程序规范编写的,所以借助于srvany.exe来创建服务,在SrvanyUI中我将这类服务称为自建服务。前面两个服务类型是Windows系统内置的,一个是普通的系统服务,一个是驱动服务。
[...] YoukuV 解压运行 youkuv.exe (推荐使用 SrvanyUI 将 youkuv.exe [...]
很棒的作品!
这个可以添加wwqgtxx-goagent的bat为服务吗?
wwqgtxx-goagent的bat可能不可以哦,至少是EXE可执行程序,你可以查看下bat下面启动命令行,然后再使用本工具,或者找个将bat转换为exe的工具试试。 只要EXE可执行程序是持续运行的就可以,要是那种一运行就结束的程序就不行了,你可以试试看。
这个软件相当给力呀,好像是.net写的吧?
谢谢认可,这个是C语言结合Platform SDK编写的。
在用完别人成果的同时,赞一下,谢谢楼主哈。
这个真解决问题了,2003服务器系统中,一个普通程序要是放在普通启动项内开机自启动的话,在此服务器被远程的时候,那个普通程序会被再启动一次,有些程序就会出错了。有此工具注册为服务后,就简单了。
请问能加你的QQ号码??
抱歉,因为某些原因不太方便使用QQ等社交工具,如果你有什么疑问的话,可以直接通过右上角的电子邮箱与我联系,将所遇到的问题描述发给我:-)
您常用的电子的邮件是地址:???
pcn88 {AT} hotmail.com (请将{AT}替换为@)
谢谢 !!!谢谢 !!!谢谢 !!!
非常感谢!解决了一个大问题!
xie'xie
我加了一个ABC的服务,怎么启动不起来呢? 2008R 系统。
只要EXE可执行程序是持续运行的就可以(比如记事本这种,只要你不关闭就不会退出),要是那种一运行就结束的程序就不行了。
感谢,我在服务器上把一个ss客户端注册为服务,服务启动后,怎么才能有窗口呢
你好,不知道是什么样的原因让你需要将窗体程序做成服务,一般意义上服务程序都是无窗体交互的,所以系统会抑制服务程序窗体显示,不建议你这么做,如果你想单纯的获得SYSTEM账户运行程序便利的话,可以试试PsExec (https://technet.microsoft.com/en-us/sysinternals/psexec.aspx),具体命令形式是:
PSEXEC -i -s -d 应用程序路径
。 当然如果你一定要以服务运行窗体程序的话,参考文章http://wangye.org/blog/archives/42/ , 我摘录在此:“控制面板 – 管理工具 – 服务(或者 开始 – 运行 – services.msc 确认)打开服务管理器,选择你刚刚安装并需要展示窗体的服务,然后右击选择属性,切换到 “登录” 选项卡,勾选上 “允许服务与桌面交互” 然后按确定保存,重启你的服务”。 希望对你有所帮助。非常感谢您编写这么方便的软件,一直以来用它添加 Aria2 的后台服务,可是现在 Win10 下似乎失效了,同样的程序和参数在 Win7 和 Win8 都没有任何问题,而且在 Win10 中 CMD 手动运行程序是正常的。
win10 版本是专业版
感谢你的关注,非常抱歉暂时身边没有Windows 10系统的电脑可供操作,通常情况下SrvanyUI这个软件本身应该可以在Windows 10环境下启动,如果添加自建服务失败的话很有可能是微软的srvany.exe这个工具失效或者其他原因,这要等我找到一台可用的Win10系统后再做调试,你也可以使用与srvany类似的开源软件srvstart进行代替,参考官方FAQ或者这篇文章进行测试,如果有困难的话麻烦等待我跟踪并解决此问题,再次为给你带来不便表示歉意。
目前该软件运行在Win10 x64 1703(15063.413)下没有异常。
好东西,win10已用。挺好用的。windows 2012也用了,很不错,感谢。
楼主制作分享的软件非常实用,解决了FRPS的启动问题,万分感谢~
帮助过我的人,感谢!
春节假期的最后一天来感谢一下,这么多年这小程序给予了我很大的方便。谢谢
SrvanyUI 怎么通过命令创建服务不用打开UI直接通过批处理或者AU3控制SrvanyUI创建
建议参考这篇文章《WScript/VBScript命令行参数使用srvany.exe创建自定义服务》
很感谢。 解决了我的一个困扰已久的问题。 同样来自扬州,老乡很厉害啊。
你好,请问一下,我这现在是试讲一个cmd命令窗口创建的服务,以前的时候直接关掉cmd窗口,程序就会停止,现在注册成服务以后,只能开启不能关闭了,请问一下有什么解决方案吗
SrvanyUI工具使用微软提供的srvany.exe小程序实现自定义服务,据我了解的情况srvany.exe使用CreateProcess系统调用创建进程以唤起用户程序并且在服务停止时调用TerminateProcess结束用户程序的进程,通常情况下这个流程并没有什么问题,除了结束进程可能显得简单粗暴了一些,需要注意的是这个方案可能对创建了子进程的用户程序不太友好,这也就是你所说的进程不能结束的问题,比如你的程序是由cmd创建的子进程,那么在srvany服务停止时只会结束cmd进程,而对于其创建的子进程并不能处理,如果需要解决这个问题的话,有两个方案可供选择,一是建议精简一下流程,比如直接由srvany调用你的程序,剥离出cmd;二是将你的程序改造成真正的NT服务程序(当然最好有源代码)。
您好! 请教下为什么自建的服务重启和停止服务都无效呢?程序依然运行
你好,你的问题我在上一个网友a的相似问题帖子回复中已经说明,非常抱歉的是如果你的程序使用批处理或者其他程序唤起,创建服务时却将批处理或者其他程序设置为服务,那么重启和停止可能无法正常结束程序运行,当然也可能存在其他情况导致程序无法被停止,由于核心程序srvany.exe由微软提供,所以暂时没有有效的解决方案,非常抱歉。
非常实用的工具,谢谢大神!
您好,如果我将一个MFC程序添加成服务,那么GUI界面无法绘制是否影响程序其他功能的正常运行?以及如果使用按照服务规范编写的系统服务启动其他程序(例如一个MFC程序),它能否显示GUI?能否在用户不登录的情况下运行? 多谢!
印象中使用srvany.exe建立的服务GUI界面无法绘制是不影响其他进程的,你可以验证这个猜想,在MFC界面程序中使用fopen或者CreateFile写入一个文件,然后建立服务,看这个文件是否建立。具体是否显示GUI,需要打开交互,具体可以看《使用srvany.exe将任何程序作为Windows服务运行》这篇文章。 但是需要注意的是,不建议将GUI界面放在Windows服务程序中,你可以将界面应用分离出来建立C/S架构,并与主服务程序通过管道、套接字或者COM进行通信。
感谢 很好用!!!!
无法启动服务。服务进程无法连接到服务控制器上, 这个是什么原因呢? srvanyui显示服务运行中,但是服务并没有在运行,没有生成相应的日志。 有简单的c#服务程序吗?
如果你添加的是自建服务的话,启动的时候任务列表应该有srvany.exe进程,你自己的程序是通过srvany.exe拉起,如果程序崩溃,一般不会有提示,任务列表可能只有srvany.exe存在,遗憾的是srvany.exe是微软官方的工具,没有源代码,我的SrvanyUI只是简化了配置,所以还是建议直接将C#程序编译成Win32服务类型,不用依赖srvany.exe。
程序路径 所指定的文件似乎不是有效的服务程序,是否忽略并继续? 服务类继承自 ServiceBase。 1. 选择自建服务,程序运行,但是服务显示运行状态,但是没有启动。 2. 选择系统服务,弹出提示窗“程序路径 所指定的文件似乎不是有效的服务程序,是否忽略并继续?”。程序服务可以运行,但是提示窗“ 请稍后 正在请求 ”, 进度条满了后又重新开始 (服务是在运行的)
Win32 NT服务程序一般会导出特定的API,系统服务通过检测这些API判断这个程序是否是标准的Win32 NT服务程序,如果不是则会提醒用户,需要注意的是Win32服务程序是按照特定规范编写的可执行程序,不是所有的Win32程序都是NT服务程序,根据你的描述你的程序很有可能只是一个普通程序,此类程序建议使用自建服务也就是srvany.exe拉起,但是如果你的程序不是长驻内存的或者中途崩溃,则程序可能被srvany.exe拉起后就立即结束了。
您好,使用了你的srvanyui.exe小工具,能完成服务的注册和exe文件的启动,首先表示感谢。提出一个问题:有没有办法能让我的exe程序文件的界面显示?
一般不建议将可见UI的程序设置为服务,如果非要这么做,请在开始运行输入services.msc服务管理器中对你所要设置的服务右击,切换到登录选项卡,勾选允许服务与桌面交互试试。
很好用,特意过来膜拜一下大佬
您好,大佬,自建服务那边能否支持下全选、多选暂停服务、停止服务和开启服务。因为我写的一个exe程序,是通过传参创建多个服务,实际程序只有一个,而服务是多个的。程序必须服务停止才能更新。这样一个个去关闭服务很麻烦,如果能批量就好了。
你好,感谢你的关注,SrvanyUI工具核心功能使用微软提供的srvany.exe小程序实现自定义服务,非常遗憾的是srvany.exe来自于Windows 2003服务器工具包,但截至目前没有最新版本,微软也没有将这个小工具开源,所以SrvanyUI也无法继续更新。 当然你可以根据需要参考同类仍然维护的第三方软件: AlwaysUp 付费商业软件 https://www.coretechnologies.com/products/AlwaysUp/ srvstart 开源软件 https://github.com/rozanski/srvstart 使用说明: https://www.howtogeek.com/50786/using-srvstart-to-run-any-application-as-a-windows-service/ NSSM - The Non-Sucking Service Manager 开源软件 http://nssm.cc/download WinSW 开源软件 https://github.com/winsw/winsw Daemon Master 开源软件 https://github.com/TWC-Software/DaemonMaster Winserv 开源软件 http://www.sw4me.com/wiki/Winserv Run as Service 开源软件 http://runasservice.com/ 希望对你有所帮助!