我正在使用以下代码返回从记事本显示的打开文件对话框的句柄。
Global $Result = DllCall("User32.dll", "HWND", "FindWindowExA", "HWND", WinGetHandle("[CLASS:Notepad]"), "HWND", Null, "STR", "#32770", "STR", "Open")
ConsoleWrite("FindWindowEx Return Value: " & String($Result[0]) & @CRLF)
这总是返回0x00000000
,但给定的参数似乎是正确的。
为什么这个函数在这里什么都不返回?
更新
以下语法有效,但我仍然无法指定父窗口:
Global $Result = DllCall('User32.dll', 'HWND', 'FindWindowExW', 'HWND', Null, 'HWND', Null, 'WSTR', '#32770', 'WSTR', 'Open')
这会找到每个对话框(画图、写字板等),但我只想获取父对话框的句柄作为记事本。