首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么关闭服务程序

2013-07-08 
求助:如何关闭服务程序?创建了service 程序后,关机重启动后服务已经启动,现在问题是不知道如何关掉程序(要

求助:如何关闭服务程序?
创建了service 程序后,关机重启动后服务已经启动,现在问题是不知道如何关掉程序(要的效果是:程序像普通程序一样关掉,但是在本地服务里面还存在,只是服务状态由已启动变成空白)
以下是我的想法但是不行:
 if FFromService then
  begin
    WinExec(PansiChar('net stop ' + GetServiceName), SW_Hide);  //停止服务
    close;
  end
  else
  begin
      Application.Terminate;
  end;

请问该如何改?
[解决办法]
不知道!
帮你顶一下!
呵呵!
[解决办法]
使用API
var
  hSCManager, hService: SC_HANDLE; // handle of service control manager

  ServiceStatus: SERVICE_STATUS;
begin
  Result := False;
  // Open the service control manager
  hSCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if (hSCManager <> 0) then
  begin
    hService := OpenService(hSCManager, Servicename, SERVICE_ALL_ACCESS);
    if (hService <> 0) then
    begin
      Result := ControlService(
                    hService,
                    SERVICE_CONTROL_STOP,
                    ServiceStatus);
      CloseServiceHandle(hService);
    end;
    CloseServiceHandle(hSCManager);
  end;

end;

热点排行