Buenas tardes y gracias a todos por su atención, estoy haciendo un servicio de windows para que me notifique cada vez que hay un cambio en una base de datos el problema es que no logro hacer que este servicio inicie de forma automática al iniciar el equipo ya intente haciendo un comando mediante ms-dos pero da la casualidad que el usuario no tiene permisos de administrador y no me deja utilizar este comando y con el comando runas me pide contraseña y no se como ponerla de forma automática, no se si estoy programando algo mal o como puedo forzar a windows a que inicie este servicio.
Les paso el codigo que tengo en el servicio:
Código Delphi
[-]
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
NotificacionesCeri.Controller(CtrlCode);
end;
function TNotificacionesCeri.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TNotificacionesCeri.ServiceAfterInstall(
Sender: TService);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create(KEY_READ or KEY_WRITE);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\SYSTEM\CurrentControlSet\Services\' + Name, false) then
begin
Reg.WriteString('Description', 'Esta aplicacion envia notificaciones a diferentes personas de las novedades registradas');
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
procedure TNotificacionesCeri.ServiceCreate(
Sender: TObject);
begin
ADOQuery1.Open;
r:=ADOQUery1.RecordCount;
end;
procedure TNotificacionesCeri.ServiceExecute(
Sender: TService);
begin
temporizador.Enabled := True;
while not Terminated do
ServiceThread.ProcessRequests(True);
temporizador.Enabled := False;
end;
procedure TNotificacionesCeri.temporizadorTimer(
Sender: TObject);
begin
Consulta;
end;
Muchas gracias a todos por su apoyo
Saludos