1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Option Explicit
'---------------------------------------------------------
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEX Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Public Declare Function Putfocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
Public Const BT_CLICK = &HF5
Sub CliquePopUp(ByVal TitrePopup As String)
Dim hwnd_PopUp As Long, hwnd_Ok As Long
Dim k As Integer
Do
hwnd_PopUp = FindWindow(vbNullString, TitrePopup) 'ici
k = k + 1
Loop While hwnd_PopUp = 0 And k <= 10000
'----------------------------------------------------------------
If hwnd_PopUp <> 0 Then
hwnd_Ok = FindWindowEX(hwnd_PopUp, 0&, "Button", "&OK") 'ou simplement "OK" (caption du bouton)
Putfocus hwnd_Ok
SendMessage hwnd_Ok, BT_CLICK, 0&, 0&
End If
End Sub
'Pour tester (adapte la caption de ton popup)
Sub test()
CliquePopUp "Le titre de ton popup"
End Sub |
Partager