tioboulet
Messages postés3Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention11 avril 2007
-
10 avril 2007 à 14:10
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
11 avril 2007 à 18:08
Bonjour,
Je voudrais avoir le script en VBA EXCEL pour auditer la presence ou la non presence d'un process ( identifié par le numero ) cree par la commande " retval = Shell("C:\Util\audit_sign\run.bat", 0) ". Retval etant le numero de process.
Merci par avance.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 10 avril 2007 à 14:25
Salut,
avec WMI, tu peux t'en sortir :
Public retVal As Long
Sub test()
' [WMI Win32 Helper - Win32_Process]
On Local Error Resume Next
Dim sComputerName As String, WMI_Obj As Object, WMI_ObjProps As Object, ObjClsItem As Object
sComputerName = Environ$("COMPUTERNAME")
Set WMI_Obj = GetObject("winmgmts:\" & sComputerName & "\root\cimv2")
Set WMI_ObjProps = WMI_Obj.ExecQuery("SELECT * FROM Win32_Process", , 48)
For Each ObjClsItem In WMI_ObjProps
If ObjClsItem.ExecutablePath = "C:\Util\audit_sign\run.bat" Then
retVal = ObjClsItem.Handle
Exit For
End If
Next ObjClsItem
Set ObjClsItem = Nothing
Set WMI_ObjProps = Nothing
Set WMI_Obj = Nothing
tioboulet
Messages postés3Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention11 avril 2007 11 avril 2007 à 09:55
Bonjour,
Je vais te repondre honnetement. Ton script est superbe , il fonctionne tres bien . Mais ca me gene beaucoup de te dire cela. Je suis partiellement satisfait car il ne repond pas à 100 % à mon souhait. Ton script me liste tous les process "cmd.exe"==> tres bien mais il m'est impossible de differencier celui qui est identifé par un numero de processus defini. Je t'avoue que je suis deja super content de ton script. Merci encore. Et si tu as le correctif qui me permette d'identifer par le numero de script ==> Je serais comblé.
tioboulet
Messages postés3Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention11 avril 2007 11 avril 2007 à 10:39
Re-bonjour,
Toutes mes excuses !!!!!!!!
Je n'ai pas bien regardé ton programme !!!
If ObjClsItem.ExecutablePath = "C:\Util\audit_sign\run.bat" Then
retVal = ObjClsItem.Handle
En effet, la variable retval donne le numero de processus.
Je te remercie beaucoup pour ton programme. Je le valide immediatement !!!!
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 11 avril 2007 à 18:08
De rien, pour info, avec le WMI, tu peux récupérer pas mal d'infos, je te conseille d'ailleurs cette superbe source de PCPT (le code vient de là, et c'est très pratique)
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~