begin process at 2012 05 28 17:54:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

Détecter un programme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Détecter un programme

dimanche 20 juillet 2008 à 16:11:56 | Détecter un programme

deck_bsd

Membre Club
Yop à tous,

Voila je voudrait savoir si il y une méthode plus optimisée pour détecter le lancement d'un prgramme que de vérifier toutes les secondes dans la liste des processus si le nom de l'éxécutable aparait ?

Merci d'avance.

++
deck_bsd
___________________________________
[ [ Lien ]]
dimanche 20 juillet 2008 à 16:35:16 | Re : Détecter un programme

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Si le programme est fenêtré tu peux utiliser RegisterShellHookWindow() pour recevoir des notifications dès la création de la fenêtre voulue.
A mon avis, la meilleure solution, qui marche pour tous les processus, est d'utiliser un driver en Kernel-Mode. Grâce à PsSetCreateProcessNotifyRoutine() on peut déclarer une fonction CALLBACK qui sera appelée par le système dès la création ou la fin d'un processus. Cette CALLBACK recevra comme 2ème paramètre l'ID du processus et comme 3ème paramètre un flag indiquant le lancement ou la fin du processus. Il est possible d'utiliser un Event crée avec IoCreateNotificationEvent()  récupérable par l'application User-Mode pour récupérer et afficher les infos du processus.

dimanche 20 juillet 2008 à 20:48:52 | Re : Détecter un programme

jeffy131

Il n'y a aucunement besoin de driver
C'est une FAQ de usenet (apis de notification asynchrone de création de process)
cf les ng de prog avancée
(comp.os.ms-windows.programmer.win32,
fr.comp.os.ms-windows.programmation,
microsoft.public.win32.programmer.kernel, etc..)
dimanche 20 juillet 2008 à 23:10:08 | Re : Détecter un programme

racpp

Administrateur CodeS-SourceS
jeffy131 >> Il parait que la programmation de driver te fait peur. Il faut savoir qu'en programmation il y 'a des problèmes insolubles en User-Mode alors qu'un petit driver de quelques lignes de code suffit pour les résoudre. Dans le cas de la notification  de la création de processus, toutes les méthodes User-Mode utilisant les hooks ont des limites. Il suffit de se reseigner sur le sujet pour s'en convaincre. Alors que l'utilisation d'un tout petit driver suffit pour recevoir de telles notifications de la meilleure des manières.
lundi 21 juillet 2008 à 10:06:50 | Re : Détecter un programme

deck_bsd

Membre Club
Merci pour vos réponses :)

++
deck_bsd
___________________________________
[ [ Lien ]]


Cette discussion est classée dans : programme, détecter, deck, bsd


Répondre à ce message

Sujets en rapport avec ce message

Détecter une erreur dans un process ? [ par chuckboy ] Bonjour à tousJe cherche à détecter une erreur dans un process externe.J'explique , je lance un process "CreateProcess(NULL, (LPTSTR)sExecutable.c_str nouveau projet pour driver. [ par deck_bsd ] Yop à tous,Voila , je voudrait develloper un driver avec soit VS 2008 , 2005 ou dev-cpp , mais voila pour aucun , il n'existe une option driver dans l SDK vista [ par deck_bsd ] Yop à tous,Je voudrait savoir si il existe une image iso ou autre du SDK pour vista. Car j'ai télécharger le programme d'installation sur le site de m Information sur les services [ par deck_bsd ] Bonjour / Bonsoir,Voila j'ai crée mon 1er service lol, mais j'ai deux question en suspen.- Qu'est ce que le SC manager ? Le gestionnaire de service?- Ajouter du texte dans une richedit [ par deck_bsd ] Bonjour à tous,Voila je cherche à savoir comment ajouter du texte, sans couleur ni rien dans ma richtext box, je me disait que vu que je ne voulai déf [C/win32]2 petites questions :D [ par deck_bsd ] Bonsoir à la communauté cppfrance :p (oufti j'ai la peche ces temps si )voila j'ai deux questions à vous soumettre  :- je supose que l'élément dwTime Juste une petit précision.Pour être sur [ par deck_bsd ] Yop à tous,Voila je n'avai encore jamais travailer sur des chaines en Unicode jusqu'a présent et je me demandai si ce que j'avai fait était un gros co Récupérer la class de la fenêtre. [ par deck_bsd ] Yop,Voila je voudrai savoir comment récupérer le nom de la class d'une fenêtre par sont handle si possible. Il me semble que une fonction GetClassName lister les périphériques [ par deck_bsd ] Yop,Voila je cherche des API qui me permettrai de lister les périphérique du pc.Merci d'avance.++deck_bsd___________________________________[http:/ HDC dans fichier. [ par deck_bsd ] Yop à tous,Voila j'ai récupérer le HDC du bureau avec la fonction GetDC(hWnd); et je voudrait bien le sauver dans un fichier bmp. J'ai cherché plusie


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 7,036 sec (3)

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