如何确定“选择文件”对话框何时处于活动状态?

问题描述

我正在尝试确定文件选择对话框何时处于活动状态,但不能。

SetTitleMatchMode,1
FileSelectFile,SelectedFile
Winwaitactive,Select File - 
MsgBox,File Select Dialog is active    ; This is never fired
if (SelectedFile = "")
    MsgBox,The user didn't select anything.
else
    MsgBox,The user selected the following:`n%selectedFile%

能告诉我我做错了什么吗?

解决方法

在该线程上,代码执行在FileSelectFile行上停止,直到选择了文件。因此,您的代码将永远不会越过WinWaitActive命令,因为在该命令运行时,您尝试匹配的窗口不再打开。
并且by the looks of things,您必须在不中断FileSelectFile命令功能的情况下中断该线程。
因此,如果没有真正的多线程,就无法实现您要尝试的确切操作。

但是也许可以做一个简单的假设,像这样:

MsgBox,% "File select will begin after you click OK"
FileSelectFile,output
MsgBox,% "File select ended"