Comportement différent suivant si lancé par moi ou par PC ??

Signaler
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010
-
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonjour, j'ai un petit probleme avec un programme. D'un coté j'ai un service qui se lance au démarrage du PC et qui lance lui meme mon programme et ce dernier procède a un hook.
Le problème c'est que mon programme fonctionne parfaitement si c'est moi qui le lance durectement mais quand c'est le service qui le lance il ne semble pas avoir d'action, le hook ne se fait pas.
Quelqu'un sait d'ou ca pourait venir?
Merci

3 réponses

Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
vérifie les exécutions critiques par des traces et tiens nous au courant

peut etre fais tu référence à des éléments relatifs ou non encore en place au lancement

qu'appelles tu "lancé par le PC"?
tu as mis ton prog ds le répertoire de démarrage, ds un autorun, un run?

___________________________________________________________
Magicalement
Nono
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010

C'est quoi les exécutions critiques ? les traces ?

Ce n'est pas un problème d'élément non encore en place au lancement car ca ne marche pas non plus si c'est moi qui lance le service après le démarrage.

Ce n'est pas un auto run c'est un service qui est en démarrage automatique.

Le service est un exe qui lance mon prog:
-Si le service démarre tout seul au démarrage du PC et lance mon prog , mon prog ne marche pas
-Si je démarre le service moi meme ca lance aussi mon prog mais il ne fonctionne toujours pas
-Si je lance l'exécutable du service ca lance mon prog et ca fonctionne
-Si je lance mon prog bien sur ca fonctionne

Je vais vérifier que ca ne vienne pas du nom de module car quand mon prog et lancé il fait un GetModulFileName() et ne fonctionne comme il faut que si son nom est le bon. Peut etre que quand c'est un service qui le lance il n'a pas le nom de son executable (meme si ca me parrait bisard)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
trace = petit texte avec éventuellement des infos,
envoyé dans un fichier (en general, txt)
permettant que ton prog est bien placé par tel endroit dans ton code

cf une de mes premieres sources ici : saveToErrorLog(...)
d'ailleur contenu dans la plupart de mes productions.

cela te permettra déjà dans un premier temps d'etre certain que ton programme est bien appelé.

éxécutions critiques : (terme ici abusivement employé), ici,
chose dont tu as des doutes sur leur bon fonctionnement (ici dans un certain mode)

tu peux tracer ton prog d'une part, et si C le tien, également le service (vérifie le chemin d'appel, par exemple)
essaie de lancer la mm ligne depuis l'interface de commande (cmd)...

Bonne prog

___________________________________________________________
Magicalement
Nono