speed54
Messages postés1Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention23 mars 2005
-
23 mars 2005 à 11:53
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
25 janv. 2007 à 22:04
bonjour,
qq'un connait il le code pour detecter ou verifier si un programme ou un executable est en cours d'execution sur le PC?
JULIEN0
Messages postés37Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention16 mai 20141 24 janv. 2007 à 10:25
merci pour cette exelente source , qui est tres bien mais super compliqué et incompréhensibl......... je demandais pas a avoir un simulateur de la barre des taches,
Je voudrais juste savoir, le plus simplement du monde , avec une varaible boolean par exemple, comment savoir si un programme (disons notepad.exe) est lancé ?????
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 25 janv. 2007 à 22:04
salut,
'inclure les processus dans la vue
Private Const TH32CS_SNAPPROCESS As Long = &H2
'des infos sur un processus
Public Type PROCESSENTRY32
dwSize As Long 'taille de cette structure (à initialiser avant l'appel à Process32First ou Process32Next)
cntUsage As Long 'nombre de handles du processus ouverts
th32ProcessID As Long 'ID du processus
th32DefaultHeapID As Long 'interne à windows
th32ModuleID As Long 'interne à windows
cntThreads As Long 'nombre de threads du processus
th32ParentProcessID As Long 'ID du processus parent
pcPriClassBase As Long 'classe de priorité de base
dwFlags As Long 'réservé
szExeFile As String * 260 'NT/2000/XP : nom du fichier Exe (sans le chemin)
'9x/ME : chemin et nom du fichier Exe
End Type
'crée une vue des processus du système
'renvoie un handle à fermer avec CloseHandle quand on en a plus besoin
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
'renvoie le premier processus de la liste
Private Declare Function Process32First Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lppe As PROCESSENTRY32) As Long
'renvoie les processus suivants
Private Declare Function Process32Next Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lppe As PROCESSENTRY32) As Long
'ferme un handle
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
'renvoie la liste des processus
'==============================================
'Paths : indique si le chemin de l'exe doit être inclu (sous NT/2000/XP)
Public Function GetProcessesList(Optional Paths As Boolean = False) As PROCESSENTRY32()
Dim hToolHelp As Long 'handle de la vue des processus
Dim p As PROCESSENTRY32 'infos sur un processus
Dim t() As PROCESSENTRY32 'liste temporaire des processus
Dim Cnt As Long 'compteur
'on demande une vue des processus du système
hToolHelp = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
'compteur à 0
Cnt = 0
'taille
p.dwSize = Len(p)
'on demande le premier processus de la vue
If Process32First(hToolHelp, p) Then
'on alloue la place dans la liste temporaire
ReDim t(0)
'on copie les infos
t(0) = p
'taille
p.dwSize = Len(p)
'tant qu'il y a des processus dans la vue, on les ajoute à la liste temporaire
Do While Process32Next(hToolHelp, p)
Cnt = Cnt + 1
ReDim Preserve t(Cnt)
'on supprime le vbNullChar et les espaces inutiles
p.szExeFile = Left$(p.szExeFile, InStr(p.szExeFile, vbNullChar) - 1)
'on copie les infos
t(Cnt) = p
'si c windows et que l'on veut les chemins complets
'taille
p.dwSize = Len(p)
Loop
End If
'on renvoie la liste
GetProcessesList = t
'on ferme la vue
CloseHandle hToolHelp
End Function
ensuite, parcours de la liste renvoyée par GetProcessesList pour trouver ton programme dans le membre szExeFile de chaque case....