Я пытаюсь автоматизировать мастер установки, и мне нужно нажать на неактивную кнопку.
Я знаю, что это можно сделать с помощью сообщений Windows, но мне было интересно, есть ли уже поддержка для этого в White или UIAutomation.
Для справки это не работает:
var invoke = (System.Windows.Automation.InvokePattern)setup.button("Next >").AutomationElement.GetCurrentPattern(System.Windows.Automation.InvokePattern.Pattern);
invoke.Invoke();
и это не
var guiAutomation = new API_GuiAutomation("msiexec");
var setup = guiAutomation.windows()[0];
setup .bringToFront();
setup .button("Next >").mouse().click(); // this will work
setup .button("Next >").mouse().click(); // this will not work since the button is not enabled
В приведенном выше примере используется API на основе White, который я добавил к платформе O2 (см. здесь пример автоматизации блокнота)