c# - Automatización de control webbrowser.NET
flash automation (3)
¿Por qué no simplemente llamar a su script Autoit / Autohotkey desde su programa C # utilizando la clase System.Diagnostics.Process?
ProcessStartInfo psi = new ProcessStartInfo("your_script.ahk");
psi.CreateNoWindow = true;
Process procScript = Process.Start(psi);
procScript.WaitForExit();
Observe CreateNoWindow = true para asegurarse de que se ejecuta oculto, y WaitForExit (), para hacer que su código espere a que vuelva el proceso.
AutoIt y AutoHotkey tienen algunos comandos de automatización muy potentes que se han perfeccionado a lo largo de los años. Es muy difícil reproducir una funcionalidad similar de C # / .NET que sea igual de confiable, créanme que lo he intentado.
Estoy tratando de automatizar algunas cosas en un juego flash que se ejecuta en un control de navegador web en mi programa C #. Utilizando el dll sendmessage dll de user32 he podido hacer clic en las coordenadas en páginas normales como google pero no funciona en contenido flash. ¿Alguna forma de que pueda hacer esto? Además, no puede ser detectable para el juego flash. Tengo un trabajo en autoit, pero me gustaría volver a escribirlo en c # y hacer que funcione al mínimo.
Echa un vistazo a WatiN. Potente automatización del navegador, compatible con C #:
Usar SendMessage o PostMessage funcionará. Debe enviar 3 mensajes, WM_MOUSEMOVE, luego WM_MOUSEDOWN, luego WM_MOUSEUP. WM_MOUSEMOVE debe indicar una ubicación diferente de WM_MOUSEDOWN y WM_MOUSEUP. WM_MOUSEDOWN y WM_MOUSEUP deberían estar en la misma ubicación. Funciona para mi.