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