Service Windows

PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021 - 14 juil. 2013 à 14:33
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016 - 15 juil. 2013 à 11:28
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 :-(

Merci d'avance

PhilLu

5 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
15 juil. 2013 à 10:21
Salut,

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 ...

a+



Composants Cindy pour Delphi
Faites une donation.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
15 juil. 2013 à 10:34
Salut,

Il me semble qu'il n'est pas possible d'afficher de messages à partir d'un service windows...

Simon
0
PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021
15 juil. 2013 à 11:13
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?

Thanks!!!
PhilLu
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
15 juil. 2013 à 11:20
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...


Simon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
15 juil. 2013 à 11:28
Bonjour PhilLu

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

A+
0
Rejoignez-nous