Не уверен, что понимаю задачу, но постараюсь помочь в меру моего понимания.Таким образом, имя класса окна является динамическим, поэтому вы замаскировали его подстановочным знаком.Но вы говорите, что хотите использовать имя класса в любом случае, если вы можете его параметризировать.Таким образом, кажется, что есть способ получить имя класса во время выполнения теста откуда-то.Если это так, вы можете поместить имя класса в переменную и передать эту переменную методу 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), перебирает список и проверяет, какие из них имеют эти конкретные дочерние объекты.
Есть ли что-нибудь для этой работы для вас?Если нет, то немного больше информации о вашей задаче может помочь мне сделать другие предложения.
Alex