frobinet
Messages postés64Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 décembre 2006
-
22 mars 2005 à 15:33
frobinet
Messages postés64Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 décembre 2006
-
24 mars 2005 à 10:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
frobinet
Messages postés64Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 décembre 2006 24 mars 2005 à 10:06
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.
hitchhikr
Messages postés36Date d'inscriptiondimanche 8 décembre 2002StatutMembreDernière intervention 8 avril 2005 23 mars 2005 à 14:24
Avec un service interactif on peut créer une fenêtre et recupérer les messages avec un test du genre:
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.
frobinet
Messages postés64Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 décembre 2006 23 mars 2005 à 09:41
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.
hitchhikr
Messages postés36Date d'inscriptiondimanche 8 décembre 2002StatutMembreDernière intervention 8 avril 2005 22 mars 2005 à 18:32
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.).
frobinet
Messages postés64Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention15 décembre 2006 22 mars 2005 à 15:33
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.
24 mars 2005 à 10:06
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.
23 mars 2005 à 14:24
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.
23 mars 2005 à 09:41
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.
22 mars 2005 à 18:32
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.).
22 mars 2005 à 15:33
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.