0

我正在尝试从其他应用程序单击 Windows 应用程序上的按钮。基本上,我想从应用 A 的代码中单击应用 B 的按钮。

我可以使用 winapi findWindow 来获取处理程序。问题是我不知道应用程序 B 上按钮的名称。这是否可以列出应用程序的所有名称或 ID?

我正在使用 c# 来实现它。

4

3 回答 3

2

由于您正在查看建议(这确实是一个非常笼统的问题,它可能会或可能不会工作,具体取决于其他应用程序/窗口是什么,例如浏览器或第 3 方应用程序等,它是否支持自动化)

看看这个密切相关的答案(它可能是重复的,但你仍然在“寻找”,所以也许要注意)。

从其他进程访问元素

还有这个关于如何“访问”其他应用程序的“输入”
Pinvoke SetFocus 到特定控件

于 2012-04-14T22:13:33.023 回答
2

我没有测试过这个。但它看起来像一个有趣的图书馆。也许有一些你可以使用的功能。它被称为。这只是一个示例:

Application application = Application.Launch("foo.exe");
Window window = application.GetWindow("bar", InitializeOption.NoCache);

Button button = window.Get<Button>("save");
button.Click();
于 2012-04-14T22:16:29.083 回答
1

您可以使用 Spy++ 等工具(包含在除 Express 版本之外的任何 Visual Studio 中)来查找该按钮的名称和类,然后将这些信息用作 FindWindow() 的参数。

于 2012-04-14T22:35:47.530 回答