Modify

#4092 new Bug

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:
Milestone: Component: Standard UDFs
Version: 3.3.18.0 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 (0)

Modify Ticket

Action
as new The ticket will remain with no owner.

Add Comment


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