我正在尝试从其他应用程序单击 Windows 应用程序上的按钮。基本上,我想从应用 A 的代码中单击应用 B 的按钮。
我可以使用 winapi findWindow 来获取处理程序。问题是我不知道应用程序 B 上按钮的名称。这是否可以列出应用程序的所有名称或 ID?
我正在使用 c# 来实现它。
我正在尝试从其他应用程序单击 Windows 应用程序上的按钮。基本上,我想从应用 A 的代码中单击应用 B 的按钮。
我可以使用 winapi findWindow 来获取处理程序。问题是我不知道应用程序 B 上按钮的名称。这是否可以列出应用程序的所有名称或 ID?
我正在使用 c# 来实现它。
由于您正在查看建议(这确实是一个非常笼统的问题,它可能会或可能不会工作,具体取决于其他应用程序/窗口是什么,例如浏览器或第 3 方应用程序等,它是否支持自动化)
看看这个密切相关的答案(它可能是重复的,但你仍然在“寻找”,所以也许要注意)。
还有这个关于如何“访问”其他应用程序的“输入”
Pinvoke SetFocus 到特定控件
我没有测试过这个。但它看起来像一个有趣的图书馆。也许有一些你可以使用的功能。它被称为白。这只是一个示例:
Application application = Application.Launch("foo.exe");
Window window = application.GetWindow("bar", InitializeOption.NoCache);
Button button = window.Get<Button>("save");
button.Click();
您可以使用 Spy++ 等工具(包含在除 Express 版本之外的任何 Visual Studio 中)来查找该按钮的名称和类,然后将这些信息用作 FindWindow() 的参数。