Jump to content

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 ?

Link to comment
Share on other sites

  • Developers
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 etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
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 

Link to comment
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

Link to comment
Share on other sites

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...