Voila, j'avais besoin de tester si un log (wordpad dans mon exemple) n'était plus en exécution avant de faire d'autre trucs.
seulement, wordpad est lancé extérieurement à VB, donc ce qui est FindWindow & Co ne marchait pas...
j'ai donc mixé des ptites choses, et trifouillé dans mon cerveau, et voila....assez ptit, et simple d'utilisation...
étant débutant, il y auras surement moyen de l'améliorer, mais pour moi, il est nikel ;-)
Source / Exemple :
Imports System.IO
Public Class Form1
Private Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim pID As String 'Sert à stocker le PID de référence
Dim pID2 As String 'Sert à stocker le PID de test
Dim FoundProcess As Process
If Label1.Text = 5 Then
Try
FoundProcess = Process.GetProcessesByName("Wordpad")(0) ' on cherche un process nommé Wordpad
Label5.Text = FoundProcess.Id.ToString() ' on l'affiche dans le label5
Catch Ex As Exception
End ' si on a pas trouvé le process Wordpad, bin on se casse :-p
End Try
End If
pID = Label5.Text ' Remplissage de la var pID
pID2 = Label5.Text ' Remplissage de la var pID2
If Label1.Text = 3 Then
While pID = pID2 ' Si pID et pID2 sont pareil
Try
FoundProcess = Process.GetProcessesByName("Wordpad")(0)
pID2 = FoundProcess.Id.ToString() ' si Wordpad est toujours en exécution, on rempli à nouveau pID2 avec son PID
Sleep(3000) 'attend 3sec entre chaque test
Catch Ex As Exception
pID2 = 0 ' si Wordpad n'est plus en exécution, alors on rempli pID2 avec 0
End Try
End While
End If
If Label1.Text = 1 Then
Timer1.Enabled = False
MessageBox.show ("WordPad est fermé...") 'ptit message histoire de voir que mon script à vu que Wordpad était fermé :-D
Timer1.Enabled = True
End If
If Label1.Text = 0 Then
End ' A++
End If
If Label1.Text > 0 Then
Label1.Text = (Label1.Text - 1) 'faut bien descendre le compteur de 1 à chaque tour ;-)
End If
End Sub
End Class
Conclusion :
Voilà les gens, y a plus qu'à se servir ;-)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.