Автоматизация управления веб-браузером .NET - PullRequest
3 голосов
/ 09 мая 2009

Я пытаюсь автоматизировать некоторые вещи во флэш-игре, запущенной в элементе управления веб-браузера в моей программе на C #. Используя dll-файл user32, я смог щелкнуть по координатам на обычных страницах, таких как Google, но он не работает с флэш-контентом. Любые способы, которыми я могу сделать это? Также он не может быть обнаружен во флеш игре. У меня есть рабочий в autoit, но я хотел бы переписать его в c # и сделать его минимизированным.

Ответы [ 3 ]

3 голосов
/ 09 мая 2009

Почему бы просто не вызвать скрипт Autoit / Autohotkey из вашей программы на C # с помощью класса System.Diagnostics.Process?

ProcessStartInfo psi = new ProcessStartInfo("your_script.ahk");
psi.CreateNoWindow = true;

Process procScript = Process.Start(psi);
procScript.WaitForExit();

Обратите внимание на CreateNoWindow = true, чтобы убедиться, что он работает скрытно, и WaitForExit (), чтобы заставить ваш код ожидать возврата процесса.

AutoIt и AutoHotkey имеют несколько очень мощных команд автоматизации, которые были усовершенствованы за эти годы. Очень трудно воспроизвести аналогичную функциональность C # / .NET, которая столь же надежна, поверьте мне, я пробовал.

2 голосов
/ 09 мая 2009

Проверьте WatiN. Мощная автоматизация браузера, совместимая с C #:

http://watin.sourceforge.net/

1 голос
/ 13 декабря 2009

Использование SendMessage или PostMessage будет работать. Вам необходимо отправить 3 сообщения: WM_MOUSEMOVE, затем WM_MOUSEDOWN, затем WM_MOUSEUP. WM_MOUSEMOVE должен указывать местоположение, отличное от WM_MOUSEDOWN и WM_MOUSEUP. WM_MOUSEDOWN и WM_MOUSEUP должны быть в одном месте. У меня работает.

...