Fermer un éxécutable

  • Initiateur de la discussion Tribal
  • Date de début
T

Tribal

Guest
Bonjour !

J ai ouvert un programme grace a cette commande :

Dim ret As Long
ret = shell('c:/key_mux/key_mux.exe', vbNormalFocus)

J'aimerais maintenant fermer ce programme . Comment faire SVP ?

merci de me répondre
 
A

Alain CROS

Guest
Bonjour.

Dans un module :

Code:
Private Declare Function EnumWindows& Lib 'user32' _
    (ByVal lpEnumFunc&, ByVal lngParam&)

Private Declare Function GetWindowThreadProcessId& Lib 'user32' _
    (ByVal Hwnd&, lpdwProcessId&)

Private Declare Function GetParent& Lib 'user32' _
    (ByVal Hwnd&)

Private Declare Function SendMessage& Lib 'user32' Alias 'SendMessageA' _
    (ByVal Hwnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

Private Apphwnd&

Sub Lance()
    EnumWindows AddressOf EnumWindowsProc, Shell('c:/key_mux/key_mux.exe', vbNormalFocus)
End Sub

Sub Ferme()
    Const WM_CLOSE& = &H10&
    SendMessage Apphwnd, WM_CLOSE, 0&, 0&
End Sub

Private Function EnumWindowsProc&(ByVal Hwnd&, ByVal lngParam&)
    Dim test_pid&
    GetWindowThreadProcessId Hwnd, test_pid
    If test_pid = lngParam And GetParent(Hwnd) = 0& Then
        Apphwnd = Hwnd
        EnumWindowsProc = False
    Else
        EnumWindowsProc = True
    End If
End Function

Alain CROS
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 080
Membres
103 457
dernier inscrit
fab2614