sackjarrow Posted September 26, 2013 Posted September 26, 2013 Hi! I'm very stuck with this function. I would like a function that when I press a certain hotkey minimizes the currently active window. When I press the same certain hotkey again I want the previously minimized window to maximize again. So far I've got: hotkeyset("{numpad1}", "_end") hotkeyset("{numpad0}", "_mini") while 1 sleep(50) WEnd Func _mini() local $wintitle = wingettitle("[active]") if WinActive($wintitle) then Winsetstate($wintitle, "", @SW_MINIMIZE) Else Winsetstate($wintitle, "", @SW_MAXIMIZE) EndIf EndFunc Func _end() Exit EndFunc However the local $wintitle = wingettitle("[active]") is incorrectly placed in the script such that the script always minimizes the currently active window (imagine I have several windows open) and of course no maximize. I simply can't work out the logic for this to work.
Moderators Solution Melba23 Posted September 26, 2013 Moderators Solution Posted September 26, 2013 sackjarrow,Store the handle of the GUI you minimized and then use it to restore:HotKeySet("{numpad1}", "_end") HotKeySet("{numpad0}", "_mini") ; Flag to hold the handle of the GUI Global $hActive_Last = 0 While 1 Sleep(10) WEnd Func _mini() ; Get current active handle Local $hActive_Curr = WinGetHandle("[ACTIVE]") ; If nothing minimised at present If $hActive_Last = 0 Then ; Minimise the GUI WinSetState($hActive_Curr, "", @SW_MINIMIZE) ; Store the handle $hActive_Last = $hActive_Curr Else ; Restore the GUI WinSetState($hActive_Last, "", @SW_RESTORE) ; Clear the flag $hActive_Last = 0 EndIf EndFunc ;==>_mini Func _end() Exit EndFunc ;==>_endAll clear? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
sackjarrow Posted September 27, 2013 Author Posted September 27, 2013 Yes that is brilliant! Thank you so much
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now