2007/12/14 Version 1.2
+ Shortcut Shift+F11: gleiche Funktionalität ohne Maximierung
2007/07/27 Version 1.1
+ Auch die Menüleiste wird entfernt.
+ Der Menü- und Maximierungsstatus aller Fenster wird in einer temporären Datei (Scriptname.ahk.tmp im Arbeitsverzeichnis) gesichert und wiederhergestellt.
* Shortcut Strg+F11: keine Kollision mit programmeigener Vollansicht-Funktion
Kompilierte Exe+Source:
http://icfu.totalcmd.net/Scripts/AHK_ToggleWindow.zip
ToggleWindow.ahk:
Code:
GroupAdd, Excludes, Windows Task-Manager ahk_class #32770
GroupAdd, Excludes, ahk_class _As12__TaskSwitchXP_TaskSwitchWnd_
GroupAdd, Excludes, ahk_class Progman
GroupAdd, Excludes, ahk_class Shell_TrayWnd
#IfWinNotActive, ahk_group Excludes
^F11::
Critical
b_MaximizeWindow := true
ToggleWindow(b_MaximizeWindow)
Return
+F11::
Critical
b_MaximizeWindow := false
ToggleWindow(b_MaximizeWindow)
Return
ToggleWindow(ByRef b_MaximizeWindow)
{
h_Window := WinActive("A")
IniFile := A_ScriptName . ".tmp"
IniRead, v_Array, %IniFile%, Handles, %h_Window%, 0
If !(v_Array)
{
h_Menu := DllCall("GetMenu", "UInt", h_Window)
WinGet, b_WindowMaximized, MinMax
DllCall("SetMenu", "UInt", h_Window, "UInt", 0)
If (b_MaximizeWindow)
WinMaximize
WinSet, Style, -0xC00000
IniWrite, %h_Menu%`,%b_WindowMaximized%, %IniFile%, Handles, %h_Window%
}
Else
{
StringSplit, v_Array, v_Array, `,
h_Menu := v_Array1
b_WindowMaximized := v_Array2
DllCall("SetMenu", "UInt", h_Window, "UInt", h_Menu)
If !(b_WindowMaximized AND b_MaximizeWindow)
WinRestore
WinSet, Style, +0xC00000
IniDelete, %IniFile%, Handles, %h_Window%
}
}
#IfWinNotActive
Icfu