我在 OnStart方法里面
这样写  
  Dim strExePath String = "xxxx.exe"
'我的xxx.exe文件是一个服务端的程序开始没打算作成windows service的形式
 Process.Start(strExePath )
然后在OnStop方法里面杀掉这个进程
 Dim serverName String = "serverName"
If UCase(pProcess(i).ProcessName) = UCase(AppName) Then
pProcess(i).Kill()
现在服务启动也没问题
运行什么的都没问题然后从windows 管理工具里面停止这个服务的时候就出错啊系统提示
无法终止该服务
1053 服务没有及时响应或控制请求 
但是我看任务管理器这个进程也确实被删除了
而且windows 管理工具的服务里面也显示关掉了就是多提示一个错误窗口
然后我在Dim serverName String = "serverName"
If UCase(pProcess(i).ProcessName) = UCase(AppName) Then
pProcess(i).Kill()这里try catch了一下把错误信息输出到了文件  又从新来了一次里面也没有提示又错误抛出
不知道为什么 希望大家帮助啊  谢谢

解决方案 »

  1.   

    为什么不把这个exe的功能合并到winservice里面呢?
    这样在任务管理器就看不到,也就不存在这个问题了,多爽!
      

  2.   

    觉得问题可能在是xxx.exe文件中吧。你尝试一下不是在window service的一个程序中。比如一个控制台的程序里.start和kill这个xxx.exe看看是否有异常抛出来的.
      

  3.   

    我刚好在跟lz做一样的工作。
    不过在此之前,我只是让服务启动的时候打开这个exe文件,并没有在服务停止关闭它。
    刚才我将kill进程的操作添加进了服务的OnStop事件,试用了一下。运行很顺利,停止服务的时候,我的exe程序的托盘图标消失了,并且在任务管理器中也找不到对应进程。也没有弹出任何错误提示。lz我怀疑是你的exe文件的问题。要么你用你的服务调用其他exe文件试试看,确认一下。
    你的exe文件单独关闭时有问题吗?
    服务程序的CanStop是不是true啊?
    把OnStop里的代码清空,能不能正常停止服务啊?
      

  4.   

    你的exe文件单独关闭时有问题吗?没问题啊
    服务程序的CanStop是不是true啊?
    不是阿把OnStop里的代码清空,能不能正常停止服务啊?
    可以阿