私のスクリプトは、IEの[ファイルの選択]ダイアログが表示されるのを待ってから、それを削除して、カスタムのファイル選択インターフェイスに置き換えることになっています。私はそれをすべて機能させましたが、私を悩ませていることが1つあります。コードは次のとおりです。
WinWaitActive("Select File")
WinSetState("Select File", "", @SW_HIDE)
問題は、[ファイルの選択]ダイアログが(目に見えないように)IEによって作成され、アクティブにされてから表示されることであるようです。これは本当に基本的なスレッドの問題です。
場合によっては、IEはダイアログをアクティブにします(ただし、まだ表示されていません!)。私のスクリプトはそれを取得し、ダイアログを非表示にします(実際にはすでに非表示になっています)。次に、IEはダイアログを表示し、その結果、ダイアログが表示されます(!)。
WinWaitActiveコマンドがアクティブなだけでなくウィンドウが表示されるのを待つように設定できるオプションはありますか?