Modify

#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: jase.thew+autoit@… 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 Jpm, on May 1, 2026 at 9:10:12 AM

Type: BugFeature Request

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

comment:2 by Jpm, on May 1, 2026 at 9:13:35 AM

Owner: set to Jpm
Resolution: Fixed
Status: newclosed

Fixed by revision [13379]

Added #4092: _GUICtrlStatusbar_*() working with WinForms statusbar.

comment:3 by TicketCleanup, on May 1, 2026 at 10:00:02 AM

Version: 3.3.18.0

Automatic ticket cleanup.

Modify Ticket

Action
as closed The owner will remain Jpm.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.