Option Explicit' Origine : fred - chapeaux.ronds@wanadoo.fr
Private Declare Function DeleteMenu Lib "user32" (ByVal _
hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal _
hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hwnd As Long, ByVal _
nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hwnd As Long, ByVal _
nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const MF_BYCOMMAND = &H0&
Private Const SC_MINIMIZE = &HF020
Private Const SC_MAXIMIZE = &HF030
Private Const WS_MAXIMIZEBOX = &H10000
Private Sub Désactiver_Maximiser()
Dim hMenu As Long, k As Long
hMenu = GetSystemMenu(Application.hwnd, False)
k = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
k = GetWindowLong(Application.hwnd, GWL_STYLE)
k = k Xor WS_MAXIMIZEBOX
SetWindowLong Application.hwnd, GWL_STYLE, k
End Sub
Private Sub Réactiver_Maximiser()
Dim hMenu As Long, k As Long
hMenu = GetSystemMenu(Application.hwnd, True)
k = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
k = GetWindowLong(Application.hwnd, GWL_STYLE)
k = k Xor WS_MAXIMIZEBOX
SetWindowLong Application.hwnd, GWL_STYLE, k
End Sub