HighlanderSword Posted May 23, 2019 Posted May 23, 2019 Helllo, I'm currently converting a script fro Auto Hotkey over to Autoit. The script opens over 30 Windows for Unix Sessions. In AHK there is an option to group the screens together in a group and then execute the Maximize and Minimize in one pass ( users only sees one screen Maximize, then Minimize) AHk CODE GroupAdd("TeraTerm", WinTitle:="ahk_class VTWin32", WinText:="", ExcludeTitle:="", ExcludeText:="") WinMaximize(WinTitle:="ahk_group TeraTerm") WinMinimize(WinTitle:="ahk_group TeraTerm") When attempting to do this in AutoIT , the user sees each screen maximize and then minimize using the code below #include <Array.au3> $winstuff =WinList("[CLASS:VTWin32]") for $loopme = 1 to ubound($winstuff) -1 WinSetState ( $winstuff[$loopme][0],"",@SW_MAXIMIZE) WinSetState ( $winstuff[$loopme][0],"",@SW_MINIMIZE) next Is there a cleaner way to do this like it works in AHK ?
Developers Jos Posted May 23, 2019 Developers Posted May 23, 2019 (edited) On 5/23/2019 at 12:33 PM, HighlanderSword said: Is there a cleaner way to do this like it works in AHK ? Expand Talking about a "loaded question" . It would help when you explain what exactly you want the code to do because referring to another language doesn't help much and I honestly do not understand what behaviour you want. Jos Edited May 23, 2019 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
HighlanderSword Posted May 23, 2019 Author Posted May 23, 2019 When using the code below #include <Array.au3> $winstuff =WinList("[CLASS:VTWin32]") for $loopme = 1 to ubound($winstuff) -1 WinSetState ( $winstuff[$loopme][0],"",@SW_MAXIMIZE) WinSetState ( $winstuff[$loopme][0],"",@SW_MINIMIZE) next It goes through each window found that matches the criteria and then does the maximize and minimize. So the process is extremely slow as it is doing one window at a time. I'm looking for a way to bulk maximize and minimize over 30 screen at the same time Hope that help explain it
BrewManNH Posted May 23, 2019 Posted May 23, 2019 GroupAdd is just an array or list of windows added to a group as far as I can tell from reading its description. It's faster because it's being run internally in AHK and you have to run it externally in AutoIt (externally meaning interpreted code). There's nothing similar in AutoIt. Feel free to open a tracker ticket to ask to have something similar added though. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! Reveal hidden contents I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Nine Posted May 23, 2019 Posted May 23, 2019 (edited) Maybe this. Untested but it looks like it would be way faster this way... Edit : tested and it works great on a few windows ! Edited May 23, 2019 by Nine “They did not know it was impossible, so they did it” ― Mark Twain Reveal hidden contents Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
BrewManNH Posted May 23, 2019 Posted May 23, 2019 AutoIt has the _WinAPI_ShowWindow function, which looks like it could easily be used to use ShowWindowAsync instead if needed by modifying the UDF. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! Reveal hidden contents I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Nine Posted May 23, 2019 Posted May 23, 2019 On 5/23/2019 at 2:39 PM, BrewManNH said: AutoIt has the _WinAPI_ShowWindow function, which looks like it could easily be used to use ShowWindowAsync instead if needed by modifying the UDF. Expand If he needs the fastest solution, I wouldn't recommend using this function, because it will reopen the dll for each window. Since it is really just a one liner, I would suggest to open the dll before the loop and using the dll handle afterward. “They did not know it was impossible, so they did it” ― Mark Twain Reveal hidden contents Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
BrewManNH Posted May 23, 2019 Posted May 23, 2019 On 5/23/2019 at 3:06 PM, Nine said: because it will reopen the dll for each window Expand Good point. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! Reveal hidden contents I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
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