Code : Tout sélectionner
#include <StructureConstants.au3>
#include <WinAPI.au3>
#include <WinAPIConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>
Opt("MustDeclareVars", 1)
Global $etat = 0
Global $hwnd = 0
Global $oldPos[5]
Global $banClasses[2] = ["Progman", "Shell_TrayWnd"]
OnAutoItExitRegister("_exit_fullscreen")
HotKeySet("²", "ToogleWin")
While(True)
Sleep(500)
WEnd
Func ToogleWin()
HotKeySet("²")
Local $hwndTemp = WinGetHandle("[ACTIVE]")
If($hwndTemp > 0 And _Array_Search($banClasses, _WinAPI_GetClassName($hwndTemp)) < 0) Then
If($hwndTemp <> $hwnd) Then
FullScreen($hwnd, False)
$hwnd = $hwndTemp
EndIf
FullScreen($hwnd)
EndIf
HotKeySet("²", "ToogleWin")
EndFunc
Func FullScreen($gui, $fullScreen = Null) ; Null = toogle
If(WinExists($gui)) Then
Local $dwStyle = _WinAPI_GetWindowLong($gui, $GWL_STYLE)
Local $wPlacement = WinGetPos($gui)
If(BitAND($dwStyle, $WS_OVERLAPPEDWINDOW) = $WS_OVERLAPPEDWINDOW And $fullScreen <> False) Then
$oldPos[0] = $wPlacement[0]
$oldPos[1] = $wPlacement[1]
$oldPos[2] = $wPlacement[2]
$oldPos[3] = $wPlacement[3]
$oldPos[4] = $gui
Local $tPos = DllStructCreate($tagPOINT)
DllStructSetData($tPos, "X", $wPlacement[0])
DllStructSetData($tPos, "Y", $wPlacement[1])
Local $mi = _WinAPI_GetMonitorInfo(_WinAPI_MonitorFromPoint($tPos))
_WinAPI_SetWindowLong($gui, $GWL_STYLE, $dwStyle-$WS_OVERLAPPEDWINDOW)
WinMove($gui, "", DllStructGetData($mi[0], "left"), _
DllStructGetData($mi[0], "top"), _
DllStructGetData($mi[0], "right")-DllStructGetData($mi[0], "left"), _
DllStructGetData($mi[0], "bottom")-DllStructGetData($mi[0], "top"))
ElseIf(BitAND($dwStyle, $WS_OVERLAPPEDWINDOW) = 0 And $fullScreen <> True) Then
If($oldPos[4] = $gui) Then
$wPlacement = $oldPos
EndIf
WinMove($gui, "", $wPlacement[0], $wPlacement[1], $wPlacement[2], $wPlacement[3])
_WinAPI_SetWindowLong($gui, $GWL_STYLE, BitOR($dwStyle, $WS_OVERLAPPEDWINDOW))
EndIf
EndIf
EndFunc
Func _Array_Search($array, $search)
Local $retour = -1
For $i = 0 To UBound($array, 1)-1
If($array[$i] = $search) Then
$retour = $i
ExitLoop
EndIf
Next
Return $retour
EndFunc
Func _exit_fullscreen()
FullScreen($hwnd, False)
EndFunc