读书人

怎么关闭服务程序

发布时间: 2013-07-08 14:13:00 作者: rapoo

求助:如何关闭服务程序?
创建了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;

读书人网 >.NET

热点推荐