如何覆盖其他窗口应用程序的元素?

How to override other windows application's elements?

本文关键字:应用程序 窗口 元素 其他 何覆盖 覆盖      更新时间:2023-10-16

你能告诉我正确的方向吗?

我想以编程方式编辑其他应用程序文本框或单击。例如,在网站中,我可以编辑元素并调用按钮单击。

我不知道如何做到这一点,但我可以移动鼠标和使用键盘运行时是否可以编辑其他应用程序的文本框?

我有C++、VB.NET和C#的知识-有什么建议或示例代码吗?

谢谢。

没有简单的方法可以做到这一点,但这是可能的。您将深入了解Win32Api以获得所需内容。这将需要很多代码,太多了,无法放在这里的示例中。

你需要从找到你想要的窗口开始。这可以通过FindWindowEx来实现。当您有窗口时,您可以使用EnumChildWindows枚举子控件。

当您最终获得所需控件的句柄时,您可以连接到windows消息子系统,并使用SendMessage函数发送WM_SETTEXT消息。有一个包装函数可用:SetWindowText,但文档明确指出,它不适用于其他应用程序的窗口。

准备好在Win Api进行大量挖掘。在较新的windows操作系统中,您可能会遇到有关安全性的问题。当你让它运行时,功能将高度依赖于操作系统、UAC设置等。

我记得15年前在Windows98中做过一次这样的操作,即使在那时也是有问题的!祝你好运!