tout d’abord il te faut un utilitaire pour regarder les Handles, celui ci fera tres bien l’affaire
http://viking.dvc.edu/~tnelson/newton/WWiz97f.exe
Sur ce soft tu repere le titre exacte de la fenetre a fermer (normalement le meme que sous windows) et tu releve aussi le nom du bouton a activer pour fermer (par ex: « Button »,« Exit »)
pour la source voici les API
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const VK_SPACE = &H20
Private Const WM_CHAR = &H102
Private Declare Function FindWindow Lib « user32 » Alias « FindWindowA » (ByVal lpClassName As String, ByVal lpWindowName As Any) As Long
Private Declare Function SetForegroundWindow Lib « user32 » (ByVal hwnd As Long) 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 PostMessage Lib « user32 » Alias « PostMessageA » (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Pour le code c’est ici dans une procedure comme form_load ou un bouton
Dim m_hWnd As Long 'handle de la fenetre a fermer
Dim m_ButtonHwnd As Long 'handle du bouton a activer
m_hWnd = FindWindow(vbNullString, « Titre de la fenetre »)'si m_hwnd=0 c’est que la fenetre n’as pas ete trouvé
m_ButtonHwnd = FindWindowEx(m_hWnd, ByVal 0&, « Button », « Ouvrir »)
si ton bouton n’est pas reconnu essaye
'm_ButtonHwnd = FindWindowEx(m_hWnd, ByVal 0&, « Ouvrir », vbnullstring).
'Call SetForegroundWindow(m_hWnd)'met la fenetre en avant-plan.Pas obligatoire
'Simule l’appui du bouton
Call PostMessage(m_ButtonHwnd, WM_KEYDOWN, VK_SPACE, 0)
Call PostMessage(m_ButtonHwnd, WM_KEYUP, VK_SPACE, 0)
bonne prog
@+
Metalcoder