Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabrice MALAINGRE
Bonjour Gislain,
Voici la marche à suivre pour détruire un processus sous Windows :
1) Enumérer les processus du système par la fonction "EnumProcesses" qui te renvoie un tableau d'IDs ;
2) Ouvrir chaque processus par la fonction "OpenProcess" qui prend un ID en paramètre et retourne le HANDLE du processus désigné ;
3) Obtenir le nom du fichier exécutable correspondant à ce processus grâce à des appels successifs à "EnumProcessModules" et "GetModuleFileNameEx".
4) Comparer le nom avec celui recherché, puis faire "TerminateProcess" avec comme paramètre le HANDLE du processus à détruire.
Mais attention, "assassiner" un processus de cette manière à un effet de bord non négligeable : le processus "victime" du "TerminateProcess" ne prévient pas les DLL qu'il a chargés de l'arrêt du processus (i.e. le DllMain avec pour argument DLL_PROCESS_DETACH n'est pas invoqué). Cela signifie que certaines ressources allouées par ces DLL ne seront jamais libérées !
Donc, si le processus à terminer est une application fenêtrée, il est préférable de lui envoyer un simple message "WM_QUIT".
Voilà
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Bonjour Gislain,
Voici la marche à suivre pour détruire un processus sous Windows :
1) Enumérer les processus du système par la fonction "EnumProcesses" qui te
renvoie un tableau d'IDs ;
2) Ouvrir chaque processus par la fonction "OpenProcess" qui prend un ID en
paramètre et retourne le HANDLE du processus désigné ;
3) Obtenir le nom du fichier exécutable correspondant à ce processus grâce à
des appels successifs à "EnumProcessModules" et "GetModuleFileNameEx".
4) Comparer le nom avec celui recherché, puis faire "TerminateProcess" avec
comme paramètre le HANDLE du processus à détruire.
Mais attention, "assassiner" un processus de cette manière à un effet de
bord non négligeable : le processus "victime" du "TerminateProcess" ne
prévient pas les DLL qu'il a chargés de l'arrêt du processus (i.e. le
DllMain avec pour argument DLL_PROCESS_DETACH n'est pas invoqué). Cela
signifie que certaines ressources allouées par ces DLL ne seront jamais
libérées !
Donc, si le processus à terminer est une application fenêtrée, il est
préférable de lui envoyer un simple message "WM_QUIT".
Voilà
Cordialement
____________________________
Fabrice MALAINGRE
Architecte Logiciel - Chef de Projet
THEORIS - www.theoris.fr
Voici la marche à suivre pour détruire un processus sous Windows :
1) Enumérer les processus du système par la fonction "EnumProcesses" qui te renvoie un tableau d'IDs ;
2) Ouvrir chaque processus par la fonction "OpenProcess" qui prend un ID en paramètre et retourne le HANDLE du processus désigné ;
3) Obtenir le nom du fichier exécutable correspondant à ce processus grâce à des appels successifs à "EnumProcessModules" et "GetModuleFileNameEx".
4) Comparer le nom avec celui recherché, puis faire "TerminateProcess" avec comme paramètre le HANDLE du processus à détruire.
Mais attention, "assassiner" un processus de cette manière à un effet de bord non négligeable : le processus "victime" du "TerminateProcess" ne prévient pas les DLL qu'il a chargés de l'arrêt du processus (i.e. le DllMain avec pour argument DLL_PROCESS_DETACH n'est pas invoqué). Cela signifie que certaines ressources allouées par ces DLL ne seront jamais libérées !
Donc, si le processus à terminer est une application fenêtrée, il est préférable de lui envoyer un simple message "WM_QUIT".
Voilà
Cordialement
____________________________ Fabrice MALAINGRE Architecte Logiciel - Chef de Projet THEORIS - www.theoris.fr
Microsoft
Bonjour,
Vous trouverez dans cet article de la base de connaissance une réponse à votre question. HOWTO: Programmatically Close a Single Instance of a Windows-Based Program http://support.microsoft.com/default.aspx?scid=kb;EN-US;176391
Cdt, Jamal Ichou
"Gislain ROCHE" a écrit dans le message de news:
Bonjour,
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Merci d'avance.
Bonjour,
Vous trouverez dans cet article de la base de connaissance une réponse à
votre question.
HOWTO: Programmatically Close a Single Instance of a Windows-Based Program
http://support.microsoft.com/default.aspx?scid=kb;EN-US;176391
Cdt,
Jamal Ichou
"Gislain ROCHE" <nospam@nospam.com> a écrit dans le message de
news:uqXdZLOrDHA.2304@TK2MSFTNGP11.phx.gbl...
Bonjour,
Je cherche à détruire un process en mémoire d'après son nom. Comment faire
en VB 6 ?
Vous trouverez dans cet article de la base de connaissance une réponse à votre question. HOWTO: Programmatically Close a Single Instance of a Windows-Based Program http://support.microsoft.com/default.aspx?scid=kb;EN-US;176391
Cdt, Jamal Ichou
"Gislain ROCHE" a écrit dans le message de news:
Bonjour,
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Merci d'avance.
Gislain ROCHE
Merci à tous.
G. ROCHE
"Gislain ROCHE" a écrit dans le message de news:
Bonjour,
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Merci d'avance.
Merci à tous.
G. ROCHE
"Gislain ROCHE" <nospam@nospam.com> a écrit dans le message de
news:uqXdZLOrDHA.2304@TK2MSFTNGP11.phx.gbl...
Bonjour,
Je cherche à détruire un process en mémoire d'après son nom. Comment faire
en VB 6 ?
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Merci d'avance.
François Picalausa
"Gislain ROCHE" a écrit dans le message de news:
Merci à tous.
"Gislain ROCHE" a écrit dans le message de news:
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Bonjour/soir,
Pour compléter, l'article suviant présente la méthode à suivre entièrement: How to kill an app gently http://msdn.microsoft.com/library/en-us/dnvsm01/html/dt0109.asp
"Gislain ROCHE" <nospam@nospam.com> a écrit dans le message de
news:OsUE7YPrDHA.2188@TK2MSFTNGP11.phx.gbl
Merci à tous.
"Gislain ROCHE" <nospam@nospam.com> a écrit dans le message de
news:uqXdZLOrDHA.2304@TK2MSFTNGP11.phx.gbl...
Je cherche à détruire un process en mémoire d'après son nom. Comment
faire en VB 6 ?
Bonjour/soir,
Pour compléter, l'article suviant présente la méthode à suivre entièrement:
How to kill an app gently
http://msdn.microsoft.com/library/en-us/dnvsm01/html/dt0109.asp
Je cherche à détruire un process en mémoire d'après son nom. Comment faire en VB 6 ?
Bonjour/soir,
Pour compléter, l'article suviant présente la méthode à suivre entièrement: How to kill an app gently http://msdn.microsoft.com/library/en-us/dnvsm01/html/dt0109.asp