VBS Process a verifier..

psyche699 Messages postés 19 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 10 octobre 2013 - 14 déc. 2012 à 12:22
 Utilisateur anonyme - 17 déc. 2012 à 12:10
Bonjour a tous,

Je suis novice dans ce milieu et j'aurais besoins d'aide pour trouver une solution a mon petit probleme... que voici :

Je suis entrain de faire un .vbs qui me permettra de sauvegarder des mails via mozbackup.
voici mon code :

Msg = " ATTENTION : " & vbnewline & "LA SAUVEGARDE DES MAILS VA BIENTOT COMMENCER" & vbnewline & "MERCI DE FERMER MOZILLA THUNDERBIRD" &

vbnewline & vbnewline & "ETES VOUS PRET A SAUVEGARDER VOS MAILS?"
Boutons = vbYesNo + vbInformation
Titre = "Sauvegarde des Mails"
response = MsgBox(Msg, Boutons, Titre)
If response = vbYes Then
Dim shell, commande
Set shell = WScript.CreateObject("WScript.Shell")
commande="C:\Users\TBN.CIS-CARE\Desktop\MozBackup.bat"
shell.Run commande, 0,true
WScript.quit
Else
MsgBox "ARRET DE LA SAUVEGARDE DES MAILS." & vbnewline & "Prochaine sauvegarde le : a mettre la commande de datage du planificateur de

taches."
End If

J'aimerais insérer une commande qui vérifie dés que le programme (mozbackup) a terminé de faire son backup...
et dire a l'utilisateur que c'est terminer.
J'ai trouver ce code mais je ne veut pas le "KILL" :


'Fermeture des instances de APPLICATION_A_KILLER si ces applis sont ouvertes
Dim Prc() As Process = process.GetProcesses() 'on récupère la liste des processus de Windows: ATTENTION ce sont des tableaux
For x As Integer = 0 To UBound(Prc) 'on fait toute la liste dans une boucle
If Prc(x).ProcessName.ToUpper(New System.Globalization.CultureInfo("fr-FR", False)) = "APPLICATION_A_KILLER" Then 'Cette application nous embete ?
Prc(x).Kill() 'on la tue !!!!
End If
Next

Je veut juste qu'il verifie et une fois que le process a terminé, il fait un MSGBOX "Sauvegarde Terminé" ...
C'est possible ?


autre chose aussi, j'aimerais aussi récupérer une date dans le planificateur des taches ?? est ce possible ??

Voila merci d'avance...
Je continu a cherche pendant ce temps..

8 réponses

Utilisateur anonyme
14 déc. 2012 à 12:34
Bonjour,

Tu peux tester si un process est actif de cette façon :
set service = GetObject ("winmgmts:")
for each Process in Service.InstancesOf ("Win32_Process")
  If lcase(Process.Name) = "calc.exe" then
    wscript.echo "calculette est active"
    wscript.quit
  End If
next
wscript.echo "calculette pas active"
0
Utilisateur anonyme
14 déc. 2012 à 12:44
Bon et avec une boucle pour surveiller en permanence c'est mieux :
do
  WScript.Sleep 2000
  set service = GetObject ("winmgmts:")
  ok = false
  for each Process in Service.InstancesOf ("Win32_Process")
    If lcase(Process.Name) = "calc.exe" then
      wscript.echo "calculette est active"
      ok = true
    End If
  next
  if not ok then
    wscript.echo "calculette pas active"
    wscript.quit
  end if
loop 
0
psyche699 Messages postés 19 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 10 octobre 2013
14 déc. 2012 à 16:57
Bonjour,

je ne comprend, il ne me l'affiche pas ?
je n'ai pas un msgbox : "calculette est active" ou "calculette pas active" ???
Je n'ai rien du tout ???

Merci de ta réponse rapide..

Peut tu m'expliquer ce morceau de code, please :

WScript.Sleep 2000
set service = GetObject ("winmgmts:")
ok = false


Merci d'avance
0
Utilisateur anonyme
14 déc. 2012 à 17:25
Ouvre un bloc note, colle le code, enregistre avec une extension vbs puis exécute le.
Pour tester l'exemple, démarre la calculette windows, exécute le vbs puis ferme la calculette.

wscript.Sleep 2000 -> met la boucle do/loop en pause pendant 2000 millisecondes.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
psyche699 Messages postés 19 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 10 octobre 2013
14 déc. 2012 à 17:32
:) je sais pour le bloc note puis l'extension .vbs sauf qu'il ne m'affiche rien dit tout ... j'ai déjà fait le test avec la calculette .......

Merco pour le do/loop ...
0
Utilisateur anonyme
14 déc. 2012 à 17:46
Et tu as bien copié tout le code do/loop compris dans un fichier vierge ?
0
psyche699 Messages postés 19 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 10 octobre 2013
17 déc. 2012 à 08:14
oui j'ai bien tout copié !!! j'ai chercher encore ... mais toujours rien trouvé ...
0
Utilisateur anonyme
17 déc. 2012 à 12:10
Je ne peux pas t'aider mieux, ceci fonctionne bien sur ma machine.
Bon courage et surtout bonne chance.
0
Rejoignez-nous