SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006
-
20 oct. 2003 à 21:37
umfred
Messages postés18Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention19 juin 2017
-
18 mai 2010 à 09:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
umfred
Messages postés18Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention19 juin 2017 18 mai 2010 à 09:31
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".
UKR6900
Messages postés4Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention24 juin 2006 24 juin 2006 à 12:50
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
SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006 20 oct. 2003 à 21:37
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