J'utilise cette fontion trouvée sur le site pour tuer mon processus.
Explications: j'utilse Meedio qui me lance mon film par ligne de commande.
Je cherche une solution pour au moment du killProcess, récupérer l'adresse complète du film exécuté.
Ceci pour remplir un tableau ACCESS de stats de diffusions.
J'ai installé sur ma machine une BD ACCESS qui tourne en tâche de fond, et qui sur un timer lance le killProcess.
J'ai trouvé sur le site différentes solutions pour récupérer les paramètres de la ligne de commande, mais j'avoue que je n'arrive pas à les intégrées à cette procédure; pour lire la ligne de commande.
Si quelqu'un à une solution à mon problème, je suis preneur
cs_GUIEU
Messages postés7Date d'inscriptiondimanche 21 décembre 2003StatutMembreDernière intervention11 juillet 2006 11 juil. 2006 à 11:14
Re Slt.
Bon donc voila où j'en suis:
Declare Function GetCommandLine Lib "kernel32.DLL" Alias "GetCommandLineA" () As String
Public Function KillProcessus(nom_process) As String
Dim I As Integer
Dim hSnapshot As Long
Dim uProcess As PROCESSENTRY32
Dim pProcess As PROCESSENTRY32
Dim r As Long
Dim nom(1 To 100)
Dim num(1 To 100)
Dim nr As Integer
Dim v As Long
Dim Parent, Fils, Argument1
nr = 0
hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapshot = 0 Then Exit Function
uProcess.dwSize = Len(uProcess)
r = ProcessFirst(hSnapshot, uProcess)
v = 0
Do While r And v = 0
nr = nr + 1
If InStr(UCase(nom(nr)), UCase(nom_process)) = 0 Then
'MsgBox ("pas le bon process") & nom(nr)
r = ProcessNext(hSnapshot, uProcess)
Else
Parent = GetProcessFileName(uProcess.th32ParentProcessID)
Fils = GetProcessFileName(uProcess.th32ProcessID)
Argument1 = GetCommandLine$
'MsgBox ("Le bon process") & nom(nr)
ProcessTerminate (num(nr))
v = 1
End If
Loop
End Function
Et donc la ligne "Argument1 = GetCommandLine$" me renvoie la 1ére ligne de commande trouvée et non pas celle du processus à killer.
Quelqu'un sait-il pourquoi?
merci.
[|)]
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 11 juil. 2006 à 11:33
essai ça... (sans garantie)
Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
-- Pourquoi faire simple quand on peut faire compliquer --