UP 一般win service 不可同调用 窗口提示的,一般应该写到日志啊什么的,地方吧。

解决方案 »

  1.   

    轮询下,最好写到线程里面。
    ServiceController svrPs = new ServiceController("dataExe");
    svrPs.Stop();//下面是伪代码:
    while (true)
    {
        if (ServiceControllerStatus.Stopped == true || isTimeOut) break;
    }putOutMsg("已停止!...");
    this._btnStart.Enabled = true;
    this._btnOK.Enabled = false;
      

  2.   

    感谢楼上的各位.不过有错误.
    if (ServiceControllerStatus.Stopped == true || isTimeOut) break; 
    这一行有错误
    运算符“==”无法应用于“System.ServiceProcess.ServiceControllerStatus”和“bool”类型的操作数
      

  3.   


    foreach (Process singleProc in Process.GetProcesses())
                {
                    if (singleProc.ProcessName == Process.GetCurrentProcess().ProcessName)
    {}
      

  4.   


    ServiceController con = new ServiceController(serviceInstaller1.ServiceName);            if (con.Status == ServiceControllerSt atus.Running || con.Status == ServiceControllerStatus.StartPending)            {                    con.Stop();            }