Avatar billede nca Juniormester
30. april 2005 - 12:19 Der er 2 kommentarer og
1 løsning

Start service før brugeren logger på

Jeg har brug for at vide, hvornår en maskine har været tændt.
Til det brug har jeg lavet nedenstående service, som virker fint, når det er lavet som et program.
Jeg har lavet et kald til servicen fra HKLM\Software\Microsoft\Windows\Current Version\Run
men servicen starter ikke op.
Det gør den heller ikke, når jeg køre programmet fra Delphi.

StartType er stAuto
ServiceType er stWin32

Hvordan får jeg skrevet i min logfil, når maskinen startes op?

Her er koden:

unit Unit1_service;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;

type
  TDFLog = class(TService)
    procedure ServiceStart(Sender: TService; var Started: Boolean);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  DFLog: TDFLog;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  DFLog.Controller(CtrlCode);
end;

function TDFLog.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TDFLog.ServiceStart(Sender: TService; var Started: Boolean);
var
  F_Log: TextFile;
  LogFile, Directory: String;
const
  SP = '  ';

begin
  Logfile:= 'C:\programmer\Faronics\Logfiler\Status.log';
  Directory:= 'C:\programmer\Faronics';
  if not DirectoryExists(Directory) then begin
    CreateDir(Directory);
  end;
  Directory:= 'C:\programmer\Faronics\Logfiler';
  if not DirectoryExists(Directory) then begin
    CreateDir(Directory);
  end;
  AssignFile(F_Log,LogFile);
  if not(FileExists(LogFile)) then
    ReWrite(F_Log)
  else
    Append(F_Log);
  writeln(F_Log,DateToStr(Date)+SP+TimeToStr(Time));
  CloseFile(F_Log)
end;

end.
Avatar billede doc404 Novice
30. april 2005 - 12:56 #1
Jeg går ud fra du lavet den via File|New|Other|Service Application?

Så skal du installerer din service. Kør exe filen med en /INSTALL parameter

Se hjælpen under Service Applications
Avatar billede nca Juniormester
30. april 2005 - 13:24 #2
>> doo404
>>Jeg går ud fra du lavet den via File|New|Other|Service Application?
Nej jeg har lavet den som en Servie og ikke en Service Application. Jeg har nu kikket i hjælpen og fundet ud af, at det er helt forkert.
Tak for hjælpen.

Vil du ikke lægge et svar?
Avatar billede doc404 Novice
30. april 2005 - 13:26 #3
!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester