(急~送100分)为什么我的服务不启动了!(在线等!在线送分,2天了csdn中没人帮助,唉!) ( 积分: 100 )

  • 主题发起人 liufengliang
  • 开始时间
L

liufengliang

Unregistered / Unconfirmed
GUEST, unregistred user!
function TTransparentForm.InstallService(ServiceName, DisplayName, FileName: string): boolean;
var
SCManager , Service : THandle ;
Args : pchar;
TempServiceStatus : TServiceStatus;
begin
Result := False;
SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCManager = 0 then Exit;
try
Service := CreateService(
SCManager,
PChar(ServiceName),
PChar(DisplayName),
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_IGNORE,
PChar(FileName),
nil, nil, nil, nil, nil
);

Args := nil;
//sleep(1000);
Service := OpenService(SCManager, PChar(ServiceName), SERVICE_ALL_ACCESS);
if Service <> 0 then
begin
StartService(Service, 0, Args);
CloseServiceHandle(Service);
end ;
finally
CloseServiceHandle(SCManager);
end;
Result := True;
刚一开始在启动时要报1053错误!但是我用delphi自代的代码就没有问题!

后来也不知道为什么可以启动了,现在又看不见主窗体了!
我在主窗体中加入了TrayIcon这个控件的,听说这样子服务启动时才看的见主窗体!
现在却看不见不知道是为什么!!!(我在SCM中启动服务)

测试时:
begin
StartService(Service, 0, Args);
CloseServiceHandle(Service);
end ;
还是启动不了!
在 StartService(Service, 0, Args); 这一句停好久就是启动不了!
有人说要用交互式的:
我把 CreateService()中的
SERVICE_WIN32_OWN_PROCESS 改为:SERVICE_INTERACTIVE_PROCESS就连服务也建不了的了!

代码中加入了测试代码
发现系统提示参数有错!
 
唉,第三天了,还是没有人会答!!!!!!!!!!!!!!
上帝造人才用7天哦!
 

Similar threads

I
回复
0
查看
397
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
638
import
I
顶部