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 30 31 32 33 34 35
| Option Explicit
Private Declare Function BringWindowToTop Lib "user32" _
(ByVal Hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
'Remarque importante:
'La procédure ne doit pas être déclenchée depuis l'éditeur de macros /!\
'
Sub ApplicationPremierPlan()
Dim Hwnd As Long
'Récupère le Handle d'une fenêtre (la calculatrice dans cet exemple).
'Le Handle est un nombre entier unique généré par Windows afin d'identifier les fenêtres.
'"Calculatrice" correspond au titre de la fenêtre.
Hwnd = FindWindow(vbNullString, "Calculatrice")
'Si la calculatrice est déjà ouverte
If Hwnd > 0 Then
'Ramène la calculatrice au premier plan
BringWindowToTop Hwnd
'Affiche en mode "Normal"
ShowWindow Hwnd, 1
Else
'Sinon, ouvre la calculatrice
Shell "C:\WINDOWS\system32\calc.exe", vbNormalFocus
End If
End Sub |
Partager