Bonjour,
Je souhaite transformer une apps en service windows.
Je ne sais pas si il est préférable de créer un service etv d'y ajouter mon code ou de transformer mon apps en service? J'ai testé un exemple fourni sur http://zeusfx.free.fr/tutoriel/service.htm, mais ne fonctionne pas sur XE2!?!
J'ai tenté de créer un premier service test dont voici le code:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.SvcMgr, Vcl.Dialogs,
Vcl.ExtCtrls;
type
TCoucou = class(TService)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Déclarations privées }
public
function GetServiceController: TServiceController; override;
{ Déclarations publiques }
end;
var
Coucou: TCoucou;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Coucou.Controller(CtrlCode);
end;
function TCoucou.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TCoucou.Timer1Timer(Sender: TObject);
begin
messagebox(0,pchar('Coucou!'),pchar('Test du Service Coucou'),0);
end;
end.
J'ai bien sûr installé (coucou.exe /install)avec succès et démarrer le service, mais rien ne se passe???
Qui peut m'aider???
Les recherches sur le web me retourne des tas de tuto pour service web :-(
j' ai déposé une source il me semble sur les services...
J' ai pour habitude de faire une appli normale qui est plus simple à débugger puis de créer un service qui va utiliser les mêmes unités. Je crée une directive de compilation pour savoir si je suis en mode appli ou service ...
Merci pour vos réponses!!!
Je vais regarder ça en détail...
Mon appli analyse des trames de communication et extrait des données pour les injecter dans une DB MySQL, donc pas besoin de fenêtre ;-)
Est-il possible toutefois d'afficher dans les icônes de la barre des tâches une icone dont la couleur montre l'état du service (Start/Stop/Pause) avec un clic droit pour changer son statu?
@Simon: je vais tester qq chose d'autre... je te dirai quoi...
@Mauricio: c'est ta source 45425 () ou tu as qq chose d'autre?
Mon appli analyse des trames de communication et extrait des données pour les injecter dans une DB MySQL, donc pas besoin de fenêtre ;-)
Est-il possible toutefois d'afficher dans les icônes de la barre des tâches une icone dont la couleur montre l'état du service (Start/Stop/Pause) avec un clic droit pour changer son statu?
Peut être, mais à ta place, je me ferai une petite appli vcl qui pilote ton service...
Si tu est sous seven ton service ne pourras pas inter-agir avec le bureau
et donc afficher un message
voir ICI pour éventuellement contourner le problème