Modèle de service windows nt/2000/xp

Soyez le premier à donner votre avis sur cette source.

Vue 7 642 fois - Téléchargée 518 fois

Description

Squelette de service pour Windows NT/2000/XP
Particularité: le service s'installe et se désinstalle tout seul
(juste en cliquant sur l'exe).

Conclusion :


A Assembler avec MASM32 + Chrome

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
64
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 décembre 2006

Merci !

c'est exactement ce que je cherchais, n'ayant pas de fenêtre
j'ai mis directement PeekMessage dans la boucle Thread et ça fonctionne très bien ! Une fois la synchros réalisée entre les deux je passe par WM_COPYDATA.

Encore Merci et Bonne Journée,

frobinet.
Messages postés
36
Date d'inscription
dimanche 8 décembre 2002
Statut
Membre
Dernière intervention
8 avril 2005

Avec un service interactif on peut créer une fenêtre et recupérer les messages avec un test du genre:

if(PeekMessage(&Msg, 0, 0, 0, PM_REMOVE)) {
DispatchMessage(&Msg);
}

inséré dans la boucle principale.

Sans fenêtre on peut également utiliser le même système mais sans DispatchMessage(), en récuperant la valeur de Msg.message directement dans la boucle. Je n'ai pas essayé mais ça doit être quelque chose comme ça.

Pour copier plus de datas entre applications on peut utiliser WM_COPYDATA.
Messages postés
64
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 décembre 2006

En fait j'ai utilisé le source ci-dessus pour créer un service XP
qui lit en permanence un lecteur de carte. Il envoie via RegisterMessage... et PostMess... un message en BroadCast a tous les programmes ouvert pour dire qu'il y a une nouvelle carte d'insérer.
Et ce que je voudrai faire c'est avec un autre programme répondre au service en demandant d'autre renseignement.
Mais je ne sais pas comment faire pour récepionner un message dans un service.
Messages postés
36
Date d'inscription
dimanche 8 décembre 2002
Statut
Membre
Dernière intervention
8 avril 2005

Je ne comprend pas bien votre question mais peut-être ceci peut vous aider:

ServiceTypeFlag dd SERVICE_WIN32_OWN_PROCESS or SERVICE_INTERACTIVE_PROCESS

SERVICE_INTERACTIVE_PROCESS permet de créer un service pouvant afficher autre chose que des boites de messages (c'est à dire des fenêtres, etc.).
Messages postés
64
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 décembre 2006

Bonjour,

Merci pour ce code qui m'est très utile !
Peut-on faire interagir un programme avec un service. Je n'arrive pas à trouver d'exemple.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.