Opened on Apr 30, 2026 at 4:29:35 PM
Closed on May 1, 2026 at 9:13:35 AM
Last modified on May 1, 2026 at 10:00:02 AM
#4092 closed Feature Request (Fixed)
Regression in 3.3.18.0: GuiStatusBar.au3 rejects WinForms StatusBar HWND with class WindowsForms10.msctls_statusbar32.app*
| Reported by: | Owned by: | Jpm | |
|---|---|---|---|
| Milestone: | Component: | Standard UDFs | |
| Version: | Severity: | None | |
| Keywords: | winforms statusbar guistatusbar classname | Cc: |
Description
After upgrading from AutoIt 3.3.16.1 to 3.3.18.0, GuiStatusBar.au3 functions fail against a classic .NET WinForms StatusBar because the control’s window class is reported as a WinForms wrapper string (e.g. WindowsForms10.msctls_statusbar32.app5) instead of exactly msctls_statusbar32.
GuiStatusBar.au3 uses _WinAPI_IsClassName() for handle validation; this is a direct class-name match check against the class name retrieved from the HWND.
Regression window
Last known good: 3.3.16.1
First known bad: 3.3.18.0
Environment
OS: Windows 11/24H2
AutoIt: 3.3.18.0
AutoIt build: x64
Target: legacy .NET WinForms app using classic StatusBar (not StatusStrip)
Steps to reproduce
Launch a legacy WinForms application containing a classic StatusBar.
Get the StatusBar control handle (HWND).
Call _GUICtrlStatusBar_GetCount($hStatus)
Minimal repro script
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
Local $hWnd = WinWaitActive("[TITLE:Your WinForms App Title]")
Local $hStatus = ControlGetHandle($hWnd, "", "[CLASS:WindowsForms10.msctls_statusbar32.app5]") ; adjust selector as needed
ConsoleWrite("HWND: " & $hStatus & @CRLF)
ConsoleWrite("ClassName: " & _WinAPI_GetClassName($hStatus) & @CRLF)
Local $iCount = _GUICtrlStatusBar_GetCount($hStatus)
ConsoleWrite("Count='" & $iCount & "' @error=" & @error & " @extended=" & @extended & @CRLF)
Pre-regression result (3.3.16.1)
HWND: 0x0000000000190B50 ClassName: WindowsForms10.msctls_statusbar32.app5 Count='6' @error=0 @extended=0
Expected result
_GUICtrlStatusBar_GetCount() returns the number of parts in the statusbar.
Actual result (3.3.18.0)
HWND: 0x0000000000190B50 ClassName: WindowsForms10.msctls_statusbar32.app5 Count='0' @error=2 @extended=0
Notes
WinForms commonly exposes hosted controls using class strings like WindowsForms10.<control>.app..., and the suffix can vary across builds/machines.
Attachments (0)
Change History (3)
comment:1 by , on May 1, 2026 at 9:10:12 AM
| Type: | Bug → Feature Request |
|---|
comment:2 by , on May 1, 2026 at 9:13:35 AM
| Owner: | set to |
|---|---|
| Resolution: | → Fixed |
| Status: | new → closed |

It is really a regression as _GUICtrlStatusBar_*() was designed to work with _GUICtrlStatusBar_create()
So I will do some change to be an added feature