c# - tareas - grabar movimiento mouse
Dado un elemento de automatización, ¿cómo simulo un solo clic izquierdo sobre él? (3)
En lugar de enviar eventos de mouse, puedes InvokePattern
través de InvokePattern
la InvokePattern
manera:
public void InvokeAutomationElement(AutomationElement automationElement)
{
var invokePattern = automationElement.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;
invokePattern.Invoke();
}
AutomationElement child = walker.GetFirstChild(el);
usando la automatización de Windows ¿Cómo simulo un solo clic izquierdo en Child?
si el control tiene un "ClickablePoint", puede usar este código
System.Windows.Point p = theButton.GetClickablePoint();
AutoItX3Lib.AutoItX3Class au3;
au3 = new AutoItX3Lib.AutoItX3Class();
au3.AutoItSetOption("MouseCoordMode", 0);
au3.MouseClick("LEFT", (int)p.X, (int)p.Y, 1, -1);
donde AutoItX3Lib es la API de C # para AutoIt
prueba con:
AutomationElement child = walker.GetFirstChild(el);
System.Windows.Point p = child.GetClickablePoint();
Mouse.Move((int)p.X, (int)p.Y);
Mouse.Click(MouseButton.Left);
Campo de golf:
Método AutomationElement.GetClickablePoint
Simular el mouse Enter / Move / Leave en el control WPF sin el uso real del mouse
Editar para comentarios
Ver estos enlaces:
Mouse.cs
NativeMethods.cs
Introducción a TestApi - Parte 1: API de inyección de entrada