タスクを理解しているかどうかはわかりませんが、理解できる範囲で支援を試みます。したがって、ウィンドウ クラス名は動的なものです。そのため、ワイルドカードでマスクしました。ただし、クラス名をパラメーター化できる場合は、とにかくクラス名を使用することを伝えます。ということで、テスト実行中のクラス名をどこかから取得する方法があるようです。その場合、クラス名を変数に入れ、この変数をパラメーターとして WaitWindow メソッドに渡し、キャプションをマスクして言語固有のキャプションを使用しないようにすることができます。
clsName := ....; // get it from somewhere
w := p.WaitWindow(clsName, '*', 1, 10000);
if w.Name='frmBasicOpt' then
begin
私の理解が正しくなく、事前にクラス名を知る方法がない場合は、別の方法を使用して、キャプションを指定せずに [オプション] ウィンドウを識別することを検討してください。可能な解決策は次のとおりです。
ダイアログが開くと、アクティブになります。したがって、Sys.Desktop.ActiveWindow を介してダイアログを取得できます。
これが MFC アプリケーションの場合は、ウィンドウの ControlID プロパティに注意してください。これは、オブジェクト認識に使用するために、アプリケーションのコードで設定できるものです。そのため、FindChild メソッドを使用して、プロパティ値でウィンドウを見つけることができます。
ウィンドウに、このウィンドウにのみ固有の子オブジェクトがいくつかある場合、Process オブジェクト (FindAllChildren) のすべての子ウィンドウを取得する関数を作成し、リストを反復処理して、それらの特定の子オブジェクトを持つウィンドウを確認できます。
これはあなたのために働きますか?そうでない場合は、あなたのタスクについてもう少し情報があれば、おそらく他の提案をするのに役立つでしょう.
アレックス