当前位置:编程学习 > C#/ASP.NET >>

winform里启动停止服务的问题

winform里停止一个服务.这个服务停止需要好几秒.请问怎么样才能在停止完以后给出提示.stop方法好象没返回值.


ServiceController svrPs = new ServiceController("dataExe");
svrPs.Stop();


putOutMsg("已停止!...");
this._btnStart.Enabled = true;
this._btnOK.Enabled = false;




上面的代码.执行停止的时候就执行到putOutMsg("已停止!...");这里了.实际上只是正在停止.并没有停止完.

--------------------编程问答-------------------- UP 一般win service 不可同调用 窗口提示的,一般应该写到日志啊什么的,地方吧。 --------------------编程问答-------------------- 轮询下,最好写到线程里面。
ServiceController svrPs = new ServiceController("dataExe");
svrPs.Stop();

//下面是伪代码:
while (true)
{
    if (ServiceControllerStatus.Stopped == true || isTimeOut) break;
}

putOutMsg("已停止!...");
this._btnStart.Enabled = true;
this._btnOK.Enabled = false;

--------------------编程问答-------------------- ding --------------------编程问答-------------------- 感谢楼上的各位.不过有错误.


if (ServiceControllerStatus.Stopped == true || isTimeOut) break; 
这一行有错误
运算符“==”无法应用于“System.ServiceProcess.ServiceControllerStatus”和“bool”类型的操作数 --------------------编程问答--------------------

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

}

--------------------编程问答--------------------

ServiceController con = new ServiceController(serviceInstaller1.ServiceName);

            if (con.Status == ServiceControllerSt atus.Running || con.Status == ServiceControllerStatus.StartPending)

            {

                    con.Stop();

            }


补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,