在服务程序的dpr代码中这样处理: var svcTbl: SERVICE_TABLE_ENTRYA; begin if(命令行参数包含‘-asexe’) then begin //做普通exe做的事情 ... end else begin //一个正常的服务程序该做的事情 svcTbl.lpServiceName := C_SVC_NAME; svcTbl.lpServiceProc := @SvcMain; StartServiceCtrlDispatcherA(@svcTbl); end; end.
启动需要net start Service1的东西和普通应用程序,都是EXE,但是服务程序点击无法运行
var
svcTbl: SERVICE_TABLE_ENTRYA;
begin
if(命令行参数包含‘-asexe’) then
begin
//做普通exe做的事情
...
end
else begin
//一个正常的服务程序该做的事情
svcTbl.lpServiceName := C_SVC_NAME;
svcTbl.lpServiceProc := @SvcMain;
StartServiceCtrlDispatcherA(@svcTbl);
end;
end.