我想在我的C#程序中的WebBrowser控件中运行的Flash游戏自动执行某些东西。使用USER32的SendMessage函数的DLL我已经能够点击在常规页面,例如谷歌的坐标,但它不会对flash内容合作。任何方式我可以做到这一点? 此外,它不能检测到的Flash游戏。我有一个工作一个在AutoIt的,但我想重写它在C#中,并使其发挥作用最小化。

有帮助吗?

解决方案

为什么不使用的System.Diagnostics.Process类只是打电话给你的AutoIt / AutoHotkey的脚本从C#程序?

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

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

注意CreateNoWindow = true,以确保它运行隐患,以及WaitForExit(),使你的代码等待处理返回。

在AutoIt和AutoHotkey的有进行了细化,多年来一些非常强大的自动化命令。这是非常难以重现类似C#/。NET的功能,仅仅是可靠的,相信我,我已经试过。

其他提示

查核华廷。强大的浏览器的自动化,用C#兼容:

http://watin.sourceforge.net/

使用的SendMessage或PostMessage的将工作。您需要发送3个消息,WM_MOUSEMOVE,然后WM_MOUSEDOWN,然后WM_MOUSEUP。该WM_MOUSEMOVE必须注明来自WM_MOUSEDOWN和WM_MOUSEUP不同的位置。 WM_MOUSEDOWN和WM_MOUSEUP应该是在同一个位置。我的作品。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top