C#判断installshiled安装的服务是否存在并且获取服务

liluld2013 2012-03-19 04:23:21
公司要求打包,我用installshield注册几个服务,installshiled注册服务代码如下:

ServiceAddService ( "ReadEditService ", "ReadEditService", "XXXXXX平台服务", INSTALLDIR+"Server\\ReadEditService.exe" , TRUE, " " );
ServiceStartService ( "ReadEditService" , "" );



后来需要做一个服务监控这几个服务是否存在,我根据网上代码判断服务,结果是一直不存在,C#代码如下:
/// <summary>
/// 判断服务是否存在
/// </summary>
/// <param name="serviceName">服务名称</param>
private bool ServiceIsExisted(string serviceName)
{
System.IO.File.AppendAllText("C:\\1.txt", serviceName + "\r\n");
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController s in services)
{
if (s.ServiceName == serviceName)
{
System.IO.File.AppendAllText("C:\\1.txt", "存在" + serviceName + "\r\n");
return true;
}
}
return false;
}

...全文
215 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪的青春 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 liluld2013 的回复:]

引用 11 楼 qingfengbj 的回复:

引用 10 楼 liluld2013 的回复:
引用 9 楼 qingfengbj 的回复:

发了怎么看不到?
方法是没有问题的,但是要确认你传入的参数,也就是服务名称是否正确。
穿的参数没有错...在xp上,我用VS装ReadEditService服务,没有问题,但是在服务器上用的是installshield安装的ReadEdi……
[/Quote]

那就奇怪了,我这边用你的代码,只不过服务名称随便换了一个我机器上存在的服务,是可以检测出来的。
你在服务管理器上查看你安装的服务的属性,从属性上看看服务名字和你传入的是否一样?
我总是感觉是名字不匹配的原因。
YeomanAmj 2012-03-20
  • 打赏
  • 举报
回复
贵人,你在哪里...
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qingfengbj 的回复:]

引用 10 楼 liluld2013 的回复:
引用 9 楼 qingfengbj 的回复:

发了怎么看不到?
方法是没有问题的,但是要确认你传入的参数,也就是服务名称是否正确。
穿的参数没有错...在xp上,我用VS装ReadEditService服务,没有问题,但是在服务器上用的是installshield安装的ReadEditService服务,然后这个监控服务就不能监控了
……
[/Quote]我在服务里能看见我装的服务,而且能正常运行,客户端也可以调用这个服务
流浪的青春 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liluld2013 的回复:]
引用 9 楼 qingfengbj 的回复:

发了怎么看不到?
方法是没有问题的,但是要确认你传入的参数,也就是服务名称是否正确。
穿的参数没有错...在xp上,我用VS装ReadEditService服务,没有问题,但是在服务器上用的是installshield安装的ReadEditService服务,然后这个监控服务就不能监控了
[/Quote]

你安装的服务在服务管理器上可以看到么?
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qingfengbj 的回复:]

发了怎么看不到?
方法是没有问题的,但是要确认你传入的参数,也就是服务名称是否正确。
[/Quote]穿的参数没有错...在xp上,我用VS装ReadEditService服务,没有问题,但是在服务器上用的是installshield安装的ReadEditService服务,然后这个监控服务就不能监控了
流浪的青春 2012-03-19
  • 打赏
  • 举报
回复
发了怎么看不到?
方法是没有问题的,但是要确认你传入的参数,也就是服务名称是否正确。
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
急啊,求教育,求~~~~
YeomanAmj 2012-03-19
  • 打赏
  • 举报
回复
一级红尘妃子笑,其实我也不知道
流浪的青春 2012-03-19
  • 打赏
  • 举报
回复
方法是没问题的,首先要确认你传进去的 serviceName 是否正确。
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lv106 的回复:]

菜鸟路过。。要我的话就先打印出那些服务名来看看呗。。
[/Quote] - -
lv106 2012-03-19
  • 打赏
  • 举报
回复
菜鸟路过。。要我的话就先打印出那些服务名来看看呗。。
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
祖国的花朵,求高手教育~~~~~
liluld2013 2012-03-19
  • 打赏
  • 举报
回复
为了程序员的明天,我决定顶一个!

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧