Pour mon besoin, cela fonctionne avec le code de peucher, mais pas celui que tu donnes ukr6900.
Dans l'exemple de peucher, il faut mettre le nom qui apparait dans l'onglet "Applications" du gestionnaire des tâches.
Je pense que l'exemple de uk6900 fonctionne mais seulement parce que la ClassName d'un fichier Notepad est "Notepad".
Correction pour que ça marche avec VB6 + exemple de code un peu plus explicite(voir ci-dessous avec Notepad).
Corrections:
Inversion dans l'API FindWindow entre lpClassName et
lpWindowName dans ton code (ça ne peut pas marcher) +
déclaration du handle changer le nom et emplacement
A+
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private lHandle As Long
Private Sub Command1_Click()
lHandle = FindWindow("Notepad", vbNullString)
'Mettre exactement le nom du programme tel qu'il est notté quand CTRL-ALT-SUP
Call PostMessage(lHandle, WM_CLOSE, 0, 0)
End Sub
Private Sub Form_Load()
Shell "notepad", vbNormalFocus
End Sub
18 mai 2010 à 09:31
Dans l'exemple de peucher, il faut mettre le nom qui apparait dans l'onglet "Applications" du gestionnaire des tâches.
Je pense que l'exemple de uk6900 fonctionne mais seulement parce que la ClassName d'un fichier Notepad est "Notepad".
24 juin 2006 à 12:50
Corrections:
Inversion dans l'API FindWindow entre lpClassName et
lpWindowName dans ton code (ça ne peut pas marcher) +
déclaration du handle changer le nom et emplacement
A+
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private lHandle As Long
Private Sub Command1_Click()
lHandle = FindWindow("Notepad", vbNullString)
'Mettre exactement le nom du programme tel qu'il est notté quand CTRL-ALT-SUP
Call PostMessage(lHandle, WM_CLOSE, 0, 0)
End Sub
Private Sub Form_Load()
Shell "notepad", vbNormalFocus
End Sub
20 oct. 2003 à 21:37
Dommage que ça ne gère pas les processus.
Bonne prog ! 08/10