。NET Web浏览器控件自动化

问题描述 投票:3回答:3

我正在尝试使在C#程序中的Web浏览器控件中运行的Flash游戏中的某些操作自动化。使用user32的sendmessage dll,我已经能够单击常规页面(例如Google)上的坐标,但是它不适用于Flash内容。有什么办法可以做到?另外,Flash游戏无法检测到它。我在autoit中有一个工作的计算机,但是我想用c#重写它并使它最小化。

c# flash automation sendmessage
3个回答
3
投票

为什么不只使用System.Diagnostics.Process类从C#程序中调用Autoit / Autohotkey脚本?

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
投票

签出WatiN。强大的浏览器自动化功能,与C#兼容:

http://watin.sourceforge.net/


1
投票

使用SendMessage或PostMessage将起作用。您需要发送3条消息,即WM_MOUSEMOVE,然后是WM_MOUSEDOWN,然后是WM_MOUSEUP。 WM_MOUSEMOVE必须指示与WM_MOUSEDOWN和WM_MOUSEUP不同的位置。 WM_MOUSEDOWN和WM_MOUSEUP应该在同一位置。为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.