begin process at 2012 02 16 03:13:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Exécution

 > 

Detecter et arreter un programme


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

Detecter et arreter un programme

mercredi 19 décembre 2001 à 11:27:07 | Detecter et arreter un programme

Solo

J'ai besoin de détecter si un programme externe tourne afin de l'arreter. Je connais le nom de l'EXE.
Avec le programme "KILLER" de memere, on détecte toutes les taches en cours, et on peu les reconnaitre au travers du titre de leur fenetre. Or ce titre, je ne le connais pas! (d'autant plus qu'il peu etre modifié).
Ce que dont j'ai besoin, c'est de connaitre le nom de l'EXE qui se cache derriere une tache.
mercredi 19 décembre 2001 à 14:24:27 | Re : Detecter et arreter un programme

ZTPdiffusion

Salut
Voici un exemple pour fermer le notepad de windows (c:\windows\notepad.exe)

'Code à mettre dans une feuille avec un bouton "Command1"

Private Sub Command1_Click()
KillApp ("C:\Windows\Notepad.exe")
End Sub
Public Function KillApp(NomApp As String) As Boolean

Const PROCESS_ALL_ACCESS = 0
Dim uProcess As PROCESSENTRY32
Dim AppTrouve As Long
Dim hSnapshot As Long
Dim NomExe As String
Dim exitCode As Long
Dim myProcess As Long
Dim TuerApp As Boolean
Dim NbreApp As Integer
Dim i As Integer
On Local Error GoTo Err
NbreApp = 0

Const TH32CS_SNAPPROCESS As Long = 2&

uProcess.dwSize = Len(uProcess)
hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
AppTrouve = ProcessFirst(hSnapshot, uProcess)

Do While AppTrouve
i = InStr(1, uProcess.szexeFile, Chr(0))
NomExe = LCase$(Left$(uProcess.szexeFile, i - 1))
If Right$(NomExe, Len(NomApp)) = LCase$(NomApp) Then
KillApp = True
NbreApp = NbreApp + 1
myProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)
TuerApp = TerminateProcess(myProcess, exitCode)
Call CloseHandle(myProcess)
End If
AppTrouve = ProcessNext(hSnapshot, uProcess)
Loop

Call CloseHandle(hSnapshot)
Err:
End Function

Private Sub Form_Load()
KillApp ("none")
RegisterServiceProcess GetCurrentProcessId, 1
End Sub

Private Sub Form_Unload(Cancel As Integer)
RegisterServiceProcess GetCurrentProcessId, 0
End Sub


'Code à mettre dans un module

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long
Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Declare Function GetCurrentProcessId Lib "kernel32" () As Long

Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szexeFile As String * 260
End Type

a+


-------------------------------
Réponse au message :
-------------------------------

J'ai besoin de détecter si un programme externe tourne afin de l'arreter. Je connais le nom de l'EXE.
Avec le programme "KILLER" de memere, on détecte toutes les taches en cours, et on peu les reconnaitre au travers du titre de leur fenetre. Or ce titre, je ne le connais pas! (d'autant plus qu'il peu etre modifié).
Ce que dont j'ai besoin, c'est de connaitre le nom de l'EXE qui se cache derriere une tache.
jeudi 28 août 2003 à 15:18:44 | Re : Detecter et arreter un programme

mouss11


Salut,
Moi aussi je voulais utiliser ton code,
seulement j'ai une erreur dans le formload sur la ligne :
RegisterServiceProcess GetCurrentProcessId, 1
erreur : Point d'entrée RegisterServiceProcess d'une DLL introuvable dans kernel32
Si quelqu'un pouvais me donner le nom de la DLL qui me manque ou ce qui ne va pas
j'utilise winXP et V6.0

merci @+

-------------------------------
Réponse au message :
-------------------------------

> Salut
> Voici un exemple pour fermer le notepad de windows (c:\windows\notepad.exe)
>
> 'Code à mettre dans une feuille avec un bouton "Command1"
>
> Private Sub Command1_Click()
> KillApp ("C:\Windows\Notepad.exe")
> End Sub
> Public Function KillApp(NomApp As String) As Boolean
>
> Const PROCESS_ALL_ACCESS = 0
> Dim uProcess As PROCESSENTRY32
> Dim AppTrouve As Long
> Dim hSnapshot As Long
> Dim NomExe As String
> Dim exitCode As Long
> Dim myProcess As Long
> Dim TuerApp As Boolean
> Dim NbreApp As Integer
> Dim i As Integer
> On Local Error GoTo Err
> NbreApp = 0
>
> Const TH32CS_SNAPPROCESS As Long = 2&
>
> uProcess.dwSize = Len(uProcess)
> hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
> AppTrouve = ProcessFirst(hSnapshot, uProcess)
>
> Do While AppTrouve
> i = InStr(1, uProcess.szexeFile, Chr(0))
> NomExe = LCase$(Left$(uProcess.szexeFile, i - 1))
> If Right$(NomExe, Len(NomApp)) = LCase$(NomApp) Then
> KillApp = True
> NbreApp = NbreApp + 1
> myProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)
> TuerApp = TerminateProcess(myProcess, exitCode)
> Call CloseHandle(myProcess)
> End If
> AppTrouve = ProcessNext(hSnapshot, uProcess)
> Loop
>
> Call CloseHandle(hSnapshot)
> Err:
> End Function
>
> Private Sub Form_Load()
> KillApp ("none")
> RegisterServiceProcess GetCurrentProcessId, 1
> End Sub
>
> Private Sub Form_Unload(Cancel As Integer)
> RegisterServiceProcess GetCurrentProcessId, 0
> End Sub
>
>
> 'Code à mettre dans un module
>
> Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
> Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
> Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
> Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long
> Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
> Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
>
> Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
> Declare Function GetCurrentProcessId Lib "kernel32" () As Long
>
> Type PROCESSENTRY32
> dwSize As Long
> cntUsage As Long
> th32ProcessID As Long
> th32DefaultHeapID As Long
> th32ModuleID As Long
> cntThreads As Long
> th32ParentProcessID As Long
> pcPriClassBase As Long
> dwFlags As Long
> szexeFile As String * 260
> End Type
>
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> J'ai besoin de détecter si un programme externe tourne afin de l'arreter. Je connais le nom de l'EXE.
> Avec le programme "KILLER" de memere, on détecte toutes les taches en cours, et on peu les reconnaitre au travers du titre de leur fenetre. Or ce titre, je ne le connais pas! (d'autant plus qu'il peu etre modifié).
> Ce que dont j'ai besoin, c'est de connaitre le nom de l'EXE qui se cache derriere une tache.
>
dimanche 22 février 2004 à 23:31:30 | Re : Detecter et arreter un programme

surfeur en serie

slt, jai exactement la mm erreur que toi.
apparement c est lier a tt ce ki est NT PARCE QUE SOUS 98 9A PASSE ET sous XP et 2000 pro erreur DLL dasn kernel32
si qq1 a la soluce
merci



Cette discussion est classée dans : exe, programme, detecter, connais, arreter


Répondre à ce message

Sujets en rapport avec ce message

arreter un programme [ par kazer04 ] salut a tous comme il est possible de executer  un  .exe grace au shell je me demaide si reciproquement il etait possible d'arrette un .exe en marche exe et vba [ par sheffy222 ] Bonjour j'ai créé un programme en vba (avec excel) et je voulais savoir si il était possible de passer ce programme en .exe. Et si c'est possible comm j'ai besoin d'un conseil... [ par aroun10 ] bon, j'ai fais un programme de facture avec VB6 et j'ai fais l'exe de ce programme mais quand je prend mon exe sur un autre pc il me domande un 2 fich Lancer un exe dans mon programme [ par Kromen ] Salut j'ai coder un programme en C qui est en fenetre DOS bon ca ok mais j'aimerai de par mon programme en VB lancer ce programme en .exe en cliquant retourner une valeur a un autre programme en fin d'execution [ par brobin ] mon programme (prog1.exe) est appelé par un autre programme (prog2.exe).je voudrais que prog1.exe retourne une valeur à prog2.exe lorsque son exécutio ouverture via un fichier [ par Vedlen ] Bonjour,j'aimerai savoir comment faire pour capter l'appel d'un fichier par le programme s'ouvrant. Je m'explique :pour ouvrir un fichier via un progr Ouverture d'un programme .exe [ par papachef ] J'ai incorporé cette commande dans une feuille,Private Sub Command8_Click() Shell "c:\BCC.exe" End SubLe programme BCC.exe s'ouvre bien mais en ar methode get dans un programme".exe" vb.net [ par j_aub ] slt ttt le monde,ma question est un peu bizard, et j'espere en fin de compte qu'elle a un sens et par conséquent une solution :)en fait je veux savoir .exe avec powerpoint97 [ par binette1er ] Bonjour,Je voudrais insérer un programme .exe dans une présentation powerpoint; j'ai la version 97 et je ne connais rien en Powerpoint...j'ai vu qu'il convertir un programme .exe.en code source??? [ par sitemo ] c'est possible de prendre un programme .exe est de convertir en code source??merci MK


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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