Я хочу зафиксировать событие кнопки Outlook с помощью автоматизации пользовательского интерфейса. Прямо сейчас я могу получить «Событие изменения свойства», например, всякий раз, когда я сворачиваю или разворачиваю окно WINWORD, вместо этого возникает событие, которое я хочу получить при нажатии кнопки «Отправить».
private void SendButtonInvoke()
{
Process[] processes = Process.GetProcessesByName("WinWord");
foreach (var item in processes)
{
aeOutLook = AutomationElement.FromHandle(item.MainWindowHandle);
}
AutomationElement buttonAddInstance = aeOutLook.FindFirst(TreeScope.Descendants,
new PropertyCondition(AutomationElement.NameProperty, "Create a new message"));
if (buttonAddInstance == null)
{
MessageBox.Show("Add button instance not found");
}
else
{
AutomationPropertyChangedEventHandler ButtonEvent =
new AutomationPropertyChangedEventHandler(OnStartInvoke);
Automation.AddAutomationPropertyChangedEventHandler(buttonAddInstance, TreeScope.Element,
ButtonEvent, AutomationElement.NameProperty);
}
}
private void OnStartInvoke(object src, AutomationEventArgs e)
{
//logic
AutomationElement ar2 = src as AutomationElement;
MessageBox.Show("Invoked Sucessfully");
}