﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
3809	WinGetTitle returns blank on Windows 10 using _WinAPI_CreateWindowEx	Nine		"It is working fine under Win7.  But with Win10, WinGetTitle returns blank when called with $hWnd while using _WinAPI_CreateWindowEx.  If you replace $hWnd with actual title, it works.  If you use ""[CLASS:MyWindowClass]"", it works.  If you do a WinList(), it will appear in the list.

{{{
#include <WinAPIRes.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>

Opt( ""MustDeclareVars"", 1 )

Global $bExit = False

Example()

Func Example()
	Local Const $sClass = ""MyWindowClass""
	Local Const $sName = ""_WinAPI_RegisterClassEx""

	; Get module handle for the current process
	Local $hInstance = _WinAPI_GetModuleHandle( 0 )

	; Create a class cursor
	Local $hCursor = _WinAPI_LoadCursor( 0, 32512 ) ; IDC_ARROW

	; Create a class icons (large and small)
	Local $tIcons = DllStructCreate( ""ptr;ptr"" )
	_WinAPI_ExtractIconEx( @SystemDir & ""\shell32.dll"", 130, DllStructGetPtr( $tIcons, 1 ), DllStructGetPtr( $tIcons, 2 ), 1 )
	Local $hIcon = DllStructGetData( $tIcons, 1 )
	Local $hIconSm = DllStructGetData( $tIcons, 2 )

	; Create DLL callback function (window procedure)
	Local $pWinProc = DllCallbackGetPtr( DllCallbackRegister( ""WinProc"", ""lresult"", ""hwnd;uint;wparam;lparam"" ) )

	; Create and fill $tagWNDCLASSEX structure
	Local $tWCEX = DllStructCreate( $tagWNDCLASSEX & "";wchar szClassName["" & ( StringLen( $sClass ) + 1 ) & ""]"" )
	DllStructSetData( $tWCEX, ""Size"", DllStructGetPtr( $tWCEX, ""szClassName"" ) - DllStructGetPtr( $tWCEX ) )
	DllStructSetData( $tWCEX, ""Style"", 0 )
	DllStructSetData( $tWCEX, ""hWndProc"", $pWinProc )
	DllStructSetData( $tWCEX, ""ClsExtra"", 0 )
	DllStructSetData( $tWCEX, ""WndExtra"", 0 )
	DllStructSetData( $tWCEX, ""hInstance"", $hInstance )
	DllStructSetData( $tWCEX, ""hIcon"", $hIcon )
	DllStructSetData( $tWCEX, ""hCursor"", $hCursor )
	DllStructSetData( $tWCEX, ""hBackground"", _WinAPI_CreateSolidBrush( _WinAPI_GetSysColor( $COLOR_3DFACE ) ) )
	DllStructSetData( $tWCEX, ""MenuName"", 0 )
	DllStructSetData( $tWCEX, ""ClassName"", DllStructGetPtr( $tWCEX, ""szClassName"" ) )
	DllStructSetData( $tWCEX, ""hIconSm"", $hIconSm )
	DllStructSetData( $tWCEX, ""szClassName"", $sClass )

	; Register a window class
	_WinAPI_RegisterClassEx( $tWCEX )

	; Create a window
	Local $hWnd = _WinAPI_CreateWindowEx( 0, $sClass, $sName, BitOR( $WS_CAPTION, $WS_POPUPWINDOW, $WS_VISIBLE ), ( @DesktopWidth - 826 ) / 2, ( @DesktopHeight - 584 ) / 2, 826, 584, 0 )
  MsgBox ($MB_SYSTEMMODAL, """", WinGetTitle($hWnd))

  ; Main msg loop
	While Sleep(10)
		If $bExit Then ExitLoop
	WEnd

	; Unregister window class and release resources
	_WinAPI_UnregisterClass( $sClass, $hInstance )
	_WinAPI_DestroyCursor( $hCursor )
	_WinAPI_DestroyIcon( $hIcon )
	_WinAPI_DestroyIcon( $hIconSm )
EndFunc

; Window procedure
Func WinProc( $hWnd, $iMsg, $wParam, $lParam )
	Switch $iMsg
		Case $WM_CLOSE
			$bExit = True
	EndSwitch
	Return _WinAPI_DefWindowProcW( $hWnd, $iMsg, $wParam, $lParam )
EndFunc

}}}
"	Bug	new		AutoIt	3.3.14.5	None			
