begin process at 2012 02 11 08:35:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > SERVICE: PAUSE/ARRÊT/FENÊTRES/TRAY ICON AVEC POPMENU

SERVICE: PAUSE/ARRÊT/FENÊTRES/TRAY ICON AVEC POPMENU


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Classé sous :WIN NT, service, TService, tray Niveau :Initié Date de création :14/01/2008 Vu / téléchargé :6 012 / 596

Auteur : MAURICIO

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


 Description

En complément à la seule source sur les Services du site de "Gaudetm" qui m' a beaucoup aidé à démarrer:
http://www.delphifr.com/codes/SERVICE-NT -TOUS-VOUS-DEVEZ-SAVOIR-INCLU-DOC_21678.aspx

Je vous apporte ma contribution (qui me semble être complémentaire à la source donnée plus haut) montrant:  
- L' état du service (pause, running etc ...).
- L' interaction avec le service manager de Windows.
- L' utilisation de la propriété TService.Terminated

Cette source permet de convertir très facilement une appli en service!!!

Pour les cas oú vous devez choisir un UserName:
Si ServiceType = stWin32: TService.StartName peut être vide ou DomainName\Username ou .\Username (Merci GaudeTM)
N' oubliez pas la propriété Password!!!


Utilisation :
-------------

Compilez le projet.

Voici les commandes pour installer/désinstaller le service:
mon_service.exe /Install
mon_service.exe /Uninstall

Pour utiliser un fichier *.bat :
set SERVICEPATH=C:\Delphi\répertoire de mon service

rem Installer:
%SERVICEPATH%\mon_service.exe /install /silent

rem désinstaller:
%SERVICEPATH%\mon_service.exe /uninstall /silent

Note: /silent permet de ne pas avoir de message de confirmation ...

rem démarrer :
net start mon_service.exe


Démarrer le Service Manager de Windows :
%SystemRoot%\system32\services.msc /s

Très important:
---------------
Je conseille d' utiliser les services sans fenêtre.
Il vaut mieux appeler un executable pour montrer une fenêtre de configuration etc ... plutôt que d' avoir les Forms dans notre service.  
Du moins, c' est ce qui me semble le plus logique et le plus utilisé, question de mémoire je suppose.

Mais dans certains cas, il est indispensable d' avoir au moins une fenêtre.
Dans ce cas, j' ai remarqué, comme tout application normale, que l' option Main Form (Menu Project puis Options sous Delphi) était disponible.
Cependant, toute TForm ajoutée au Service a la propriété visible à false, même la main form, ce que l' on comprend très bien para la nature du projet.
Par contre, si on met la propriété Visible de la main form à true et que l' on clique sur la croix pour fermer cette form, le service bloque.  
(Notez aussi que fermer la main form ne veut pas dire fermer le service)

Pour éviter ce petit problème, j' ai trouvé une solution très simple, fallait juste y penser:
Je crée une main form (n' oubliez pas de passer par les options du projet), qui fait rien !!! Je laisse la propriété visible à false.
Je profite de cette form pour gérer les message qui viennent du Tray Icon afin d' avoir un squelette "Ready tu use" pour créer des services ...
Toutes les autres forms que je vais montrer pourront être fermées sans problème.


 Conclusion

J' aimerai pouvoir savoir lorsque l' on termine la session (le service cours toujours) en cours et lorsque l' on démarre un nouvelle session après avoir fermé la session en cours.
Cela permettrai un meilleur contrôle et ainsi, montrer l' icone sans utiliser le deuxieme Timer.
De plus, si on éteind le PC, Windows force la fermeture du service après quelques secondes, ce qui est intolérable dans certains cas tant que l' on a pas fini la tâche en cours.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture PROJETS DÉMO DU PACK DE COMPOSANTS CINDY V4.30
Source avec Zip Source avec une capture PACKAGE DE COMPOSANTS CINDY V4.41
Source avec Zip Source avec une capture EVALUATION D' EXPRESSIONS MATHÉMATIQUE (MÉTHODE RPN)
Source avec Zip Source avec une capture DEMO DE LA TCYDBADVGRID (DBGRID AVANCÉE, EXE INCLUS)
ACTUALISER UNE TABLE SANS QUE LA DBGRID MODIFIE SON VISUEL E...

 Sources de la même categorie

Source avec Zip LECTURE DE LA MEMOIRE D'UN AUTRE PROCESSUS par Mokost
Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture OBSERVATEUR DE PROCESSUS ACTIFS; VPROCESS 1,0 par Neftali
UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT par ThWilliam
Source avec une capture VOTRE PROGRAMME DE MAIL COMME CLIENT MAIL PAR DÉFAUT SOUS WI... par MAURICIO

 Sources en rapport avec celle ci

Source avec Zip GESTIONNAIRE DE SERVICES WINDOWS par piane
Source avec Zip FBPDM LOGICIEL DE PRISE DE MAIN À DISTANCE par fbalien
Source avec Zip Source avec une capture MISE EN OEUVRE DE WMI (VIA WQL) par fjohnny

Commentaires et avis

Commentaire de Delphiprog le 16/01/2008 21:08:28 administrateur CS

Les codes sur les services avec Delphi ne courent pas les rues. C'est avec grand intérêt que je vais me pencher sur celui-ci.
Merci Mauricio.

Commentaire de Michel34 le 21/01/2008 07:37:49

Depuis le temps que je cherchais a m'instruire sur les  "services" , cela est chose faite.
bonne continuation.

Commentaire de MAURICIO le 21/01/2008 10:12:39 administrateur CS

Merci à vous deux,
ça fait plaisir de voire que ça a interessé ... 2 personnes   lol
Bientôt de vais me mettre à faire un nouveau compo (dans quelques semaines) pour la synchro de fichiers, mais je n'en dis pas plus pour l' instant.
A+

Commentaire de madcap le 03/06/2009 16:53:33

Hello,

Merci pour cette source, ça fait depuis des jours que je galère pour avoir un tray icon dans un service avec un menu et une fenêtre !

Commentaire de MAURICIO le 03/06/2009 17:42:30 administrateur CS

Salut,

de rien :)

A+


Mes compos gratuits : http://sourceforge.net/projects/tcycomponents/

Commentaire de dinfir69 le 16/07/2009 14:13:24

c'est un très bon code, mais j'ai remarqué que ça fonction sous windows 2000 mais pas sous windows vista!, est ce que quelqu'un a trouvé une solution à ce problème?? merci.

Commentaire de hamens le 23/04/2010 15:46:51

merci beaucoup sur ce code.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Accèder à une ressource réseau via un TService [ par informia ] Bonjour,Voila, je viens de développer un service windows dans lequel j'aimerais accéder à une ressource réseau (base de donné Démarrage/Arrêt d'un service [ par kinay ] Comment démarrer ou arrêter un service à partir d'une application Delphi ? Service Pack [ par kinay ] Comment connaitre le service Pack de Windows ? Verifier le lancement d'un service à distance [ par abdouinf ] Bonjour à tous,je suis en train de developper une application Client/Serveur avec TSocketConnection, j'ai un service qui tourne sur le serveur po prob d'impression dans un service web [ par jeremydem ] je programme en delphi 8 et je voudrais imprimer a partir d'un service web.j'utilise le composant prindocument, au moment du print j'ai toujours le m& Installation d'un service [ par gastou ] Bonsoir, je voudrais installer un service qui a en entrée un fichier ini. donc mon service : ServiceEmule.exemon raccourci d'install qui cible m Service Windows et application Java [ par davidfdm2002 ] Je souhaite réalisé un service Windows mepermettant de lancer une application java (un serveur Web) au demarrage du Systeme .( NT/2000 serve Gérer mon service [ par lbensch ] J'ai développé un service, ensuite je veux développer une application qui gèrera ce service :   - Propriét&#23 Service et programme attaché au service. [ par davidfdm2002 ] Bonjour,Voici un grand mystere, une enigme, une chose incroyable que vous ne verrez qu'une fois...j'espere.Voici la question pour un champion :J'ai cr Envoyer un message a un service [ par cricri_b34 ] j'ai créer un dll qui est supposé de communiquer avec un Service en lui envoyant un message je dois pour ca transmettre le handle du service


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales