Jump to content
HighlanderSword

MInimize/Maximize Multiple windows

Recommended Posts

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 ?

Share this post


Link to post
Share on other sites
Posted (edited)
21 minutes ago, HighlanderSword said:

Is there a cleaner way to do this like it works in AHK ?

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 by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

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 

Share this post


Link to post
Share on other sites

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 Gude
How to ask questions the smart way!

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

Share this post


Link to post
Share on other sites

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 Gude
How to ask questions the smart way!

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

Share this post


Link to post
Share on other sites
23 minutes ago, 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.

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.

Share this post


Link to post
Share on other sites
17 minutes ago, Nine said:

because it will reopen the dll for each window

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 Gude
How to ask questions the smart way!

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...