Getting the type of a GUI control by its handle is something I wanted for ages. Now it's possible by the new _GUICtrlGetType() function. Also nice, a function which gets the window under the mouse pointer: _WindowUnderMouse(). And the _VersionHigher() function is handy for easy version checking.
This release adds a few numberbox functions for improved handling.
For limiting the input of a user to numbers the new numberbox library helps you with this. Depending on the format you need it allows for integers, reals, bits, hexadecimals. You can extend your existing GUICtrlCreatInput() functions or create new numberboxes with _GUICtrlCreateNumberBox().
Talking about numbers with _StringZero() a string is padded with zeros and with _NumberToBit() and _BitToNumber() you can convert to and from binary.... read more
2 new registry functions are added for writing and deleting registry keys. All functions including _RegistryRead() return @error and @extended as their AutoIt counterparts.
_WindowVersion() now correctly returns the Windows version of 10 and 11.
To size a GUI according to its (window client) size specificied in GUICreate() the function _GUIResize() can be used by giving an absolute or delta (relative) size.
_IsBit() can be used for testing a bit and _BitSet() for setting or unsetting a bit. And _Decimals() returns the decimal part (after the point) of a number.
Version 1.24 has some functions to easily determine the state of a window like _WindowMinimized() for detecting if a window is minimized.
_GUIGetBkColor() now also can return the background color according to the (internal) window class. This should also be the current Windows color theme.
This version has one major change/improvement. Some functions are added/improved to return the coordinates of a window according to the Desktop Window Manager (DWM) of Windows Vista and higher. The AutoIt function don't represent the coordinates correctly (yet).
The general logarithm function _LogX() has been added. The window created by _Message() can now be closed by its close button. _WindowsScrollInactiveWindow() returns the Windows 10 setting for scrolling an inactive window.
Just found out a small bug in file "Window, Screen, Mouse and Control.au3". In _WindowForceToPrimaryMonitor() WindowWidth and WindowHeight should have an underscore so _WindowWidth and _WindowHeight.
On a multiple monitor setup it could be that a monitor is switched off or the desktop is going from expand to duplicate. Both cases causes your window to appear beyond the desktop when you use a restore to a former saved position. _WindowForceToPrimaryMonitor() forces the window to the primary monitor if it isn't on an active monitor (so beyond the desktop).
2 new string functions _StringStartsWith() and _StringEndsWith() are useful for determine a string at the beginning or end of a string.
In Miscellaneous.au3 2 new functions:
_ProcessRunsAlready() returns if a process is already running when the same process is started again (singleton).
_ProcessInstances() gets number of instances of a process or processes.
In String and File String.au3 1 new function: _FileComparePaths() for comparing (url) paths.
2 bug repairs:
- for url's paths _FilePath() returned with forward slash
- _StringToArray() didn't always return all columns for a 2D row/column split ... read more
One function added: _SoundGetWaveVolume() which gets the audio volume of an app. As from Windows Vista to 10 each app has its own volume.
These 2 new functions _WindowsBuildNumber() and _WindowsUBRNumber() might be useful to determine if Windows, especially Windows 10, has been updated. The build number in combination with the UBR (update build release) number give a good way to do this.
_FileGetSizeTimed () may be used after downloading a file. Immediately after downloading has been finished Windows isn't ready to report the file size. The AutoIt FileGetSize() will return 0 but _FileGetSizeTimed() will try to return the size and your program may be resumed directly.
4 functions have been added:
A small improvement in _WindowGetX() and _WindowGetY() both returing 0 if given window doesn't exist.
And second parameter of _WindowFromProcessId() is now a keyword title.
To convert a BGR color to RGB or vice versa you can use the new _ColorBGRtoRGB() function.
2 process related functions are added. To get a process id from a process name: _ProcessGetProcessId().
To get a window handle from a process id: _WindowFromProcessId()
To check if a control has a certain state among others you can use _GUICtrlIsState(). To change a state only if a control hasn't got it yet, use _GUICtrlChangeState(). This prevent the unnecessary refreshing (flinkering) of a control.
The functions _Message() and _HideMessage() can be called with an icon file to show this icon on the message to the left or right of the message text. This can be used for showing a warning image.
I've added 6 functions for easy control positioning. These functions are wrappers of the ControlGetPos() function of AutoIt.
Version 1.10 now has lists for storing values and for easy data retrieval and manipulation. Lists are an improvement of the normal array functions. For instance, values can easily be added by _ListAdd().
AutoIt is a great programming language with a lot of features and a large library of functions. Still whilst programming a tool such as Peace, the user interface for Equalizer APO, I miss functionality. So I wrote my own functions on topics such as window, controls, string manipulation, etc.
Pal, Peter's AutoIt Library has over 150 functions you can use for creating your tools which you present to the world or use for your own purposes.