Function closeit(mycaption As String)
Dim WinWnd As Long, RetVal As Long, lpClassName As String
'Search the window
WinWnd = FindWindow(vbNullString, mycaption)
If WinWnd = 0 Then
MsgBox "Couldn't find the window ..."
End If
ShowWindow WinWnd, SW_SHOWNORMAL
'Create a buffer
lpClassName = Space(256)
'retrieve the class name
RetVal = GetClassName(WinWnd, lpClassName, 256) 'no necessary
'Post a message to the window to close itself
PostMessage WinWnd, WM_CLOSE, 0&, 0&
End Function
Mon process IE est bien Killé mais il reste toujour un process WINWORD qui ne veut pas partir
Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 20122 18 déc. 2007 à 13:12
Salut,
Il faut que tu récupère la liste de tout tes processus. en .net tu as MonProcess.GetProcesses en vb je sais pas.Une fois que tu as la liste, tu parcours ton tableau si le process en cours Iexplore.exe alors kill sinon si le process en cours WinWOrd.exe alors kill
Attention. La destruction de processus varie suivant les versions de windows et du compte utilisateur que tu as. Cela ne marchera pas forcément. Il faut passer les paramètres administrateurs. Pour assurer le coup tu peux à partir de windows 2003 Server faire démarrer cmd
taskkill /? et là tu sauras tout.
Pour les versions ultérieurs, je crois que c'est tkill /?
Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 20122 18 déc. 2007 à 15:32
Oui alors effectivement ça kill tout. Autre possibilité, vérifie pour chaque processus le MainWindowsTitle. Etant donné que je pense tu connais le nom de fichier utilisé par l'utilisateur tu peux killer celui qui correspond.
Exemple : dim NomFichier as string = "monfichierdoc.doc"
Si lors du parcours de ton tableau de process tu trouve WinWORD.exe et que le mainwindowstitle = Nomfichier alors tu kill.
C'est pas plus compliqué.Il faut juste que tu connaisses le nom du fichier et que tu vérifies.
@+