|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Salut à tous !
je me suis fait un petit programme, que j'ai mis en "service windows" afin de pouvoir communiquer avec lui même si aucun utilisateur n'est connecté. je souhaite qu'il puisse "interagir" avec le bureau, en affichant par exemple une fenetre. Il faut cocher l'option "interagir avec le bureau" dans les options du service, ce que je fais indirectement en modifiant la BDR. Et ça marche ! Mais uniquement une fois que j'ai fait la manip suivante : dans les options du service, je décoche puis recoche l'option "interagir avec le bureau", fait "appliquer", puis redémarre le service (!!!) Et là, ça marche... Et si je fais pas ce "décoche-recoche" (sans appliquer entre-deux !) et ce redémarrage du service, rien ne s'affiche... Quelqu'un a une idée du problème, parce que là, je sèche
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Raymond Inscription : mai 2007 Messages : 7 474 ![]() |
Je pense que le problème vient du fait que le privilège "Interagir avec le bureau" est donné au service uniquement au lancement du service
Il n'est pas donné à un service qui s'exécute déjà Raymond |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
salut ram_0000
bah en fait, si j'arrete le service et que je le redemarre sans faire la manip' que j'ai décrite, bah ça marche pas. De plus, lorsque je crée le service, je ne le démarre pas tout de suite. je lui "donne" l'accès au bureau, et le démarre enuite, mais sans résultat... Est-ce que tu pourrais faire un essai chez toi ? Que je sache si ça viens de chez moi ou pas ? Merci pour ta réponse en tout cas ! |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Je viens de me rendre compte que après avoir fait cette "manip", la base de registre est quasi-pas modifiée : seule la clef "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG" est différente, mais je pense pas que c'est sur cette valeur qu'il faille jouer. Sa valeur change tout le temps ; à mon avis elle n'a rien à voire avec mon problème.
J'ai aussi remarqué que si j'ai fait la "manip", après un redémarrage du pc ça marche encore. Il doit donc y avoir une info écrite sur le disque quelque part. Quelqu'un connaitrait un logiciel ou une façon de faire pour savoir si c'est le cas ; et, si oui, localiser cette info ? Merci de votre aide ! |
|
|
00
|
|
|
#5 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
il te suffirait d'installer ton service avec le flag SERVICE_INTERACTIVE_PROCESS
voici une librarie de gestion de services windows qui te permettra de gérer beaucoup plus simplement et efficament tes services : [Source] [C] Librairie d'encapsulation de Services Windows |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Arf, je crois que tu n'a pas tout lu
![]() Lorsque je crée mon service, je lui affecte le droit d'interagir avec le bureau (flag SERVICE_INTERACTIVE_PROCESS) par modification de la clef ad-hoc dans la BDR (ou bien manuellement dans les propriétés du service dans services.msc). Mais tout se passe comme si ce "flag" n'était pris en compte que lorsque je fait "appliquer" ou "ok" dans les propriétés du service (dans services.msc). Ce qui m'embête parce que j'ai pas envie de faire ça sur les x ordis du réseau.Il me faut bien-sûr également redémarrer le service. Est-ce que je suis le seul à avoir ce problème ? |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Pour bien comprendre et aussi pour faire un essai chez vous, histoire que je sois sûr que ça vienne pas de moi :
http://www.mwoua.ovh.org/index_fichiers/_service.zip Dans ce répertoire, y'a ce qu'il faut pour installer un sevice qui ne fait qu'ouvrir une commande DOS, désinstaller ce service proprement ( Vous l'aurez compris, j'ia besoin de vous !!! Si chacun pouvait faire l'essai, et me dire si ça fait pareil que chez moi... Merci !!!! |
|
|
00
|
|
|
#8 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
bon,
c'est de la bidouille (instsrv,srvany et cie...) !!! Ne sois pas étonné que cela ne fonctionne pas, surtout pour lancer un bat ... j'ai essayé, ca marche pas chez moi (Vista Pro). si tu a fais un "petit progamme" comme tu dis, utilise l'api Windows ou la librairie que je t'ai indiqué... |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Bah non, c'est pas de la bidouille
instsrv et srvany sont donnés par Microsoft pour enregistrer un progamme comme serveur. Sinon, ça marche pas chez toi en faisant l'installation complète ? Et en cochant manuellement l'option, ça marche ? Le problèmé concernant la lib que tu m'a passée, c'est que programme pas en c, mais en "purebasic". Je crée un exe et après je l'enregistre en tant que service garce à instsrv et srvany. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 7 ![]() |
Bon, puisque tout le monde est en vacances (
J'ai créé un service avec PureBasic (le logiciel de programmation que j'utilise), et pas transformé un exe en service avec la methode que donne microsoft. N'empèche que j'aimerai bien savoir pourquoi la 1ère méthode ne marche pas En tout cas, merci à tous |
|
|
00
|
|
|
#11 | ||
|
Invité régulier
![]() Inscription : avril 2009 Messages : 25 ![]() |
Pour les prochaines personnes a qui cela arrive j'ai trouver la solution :
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com