首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C# WinForms应用程序访问另一个应用程序的元素

使用C# WinForms应用程序访问另一个应用程序的元素
EN

Stack Overflow用户
提问于 2012-05-26 16:45:24
回答 3查看 1.2K关注 0票数 4

我希望能够在另一个应用程序中执行以下操作:

  • 更改Tabs
  • 从TextBox中复制文本
  • 单击按钮
  • 在TextBox中输入文本
  • 选择DropDownList元素

现在,我正在使用不同的方法,例如:

  • mouse_event()更改鼠标坐标并单击按钮
  • 另一个mouse_event(LeftMouseClick,后面跟着RightMouseClick)在TextBox中复制文本
  • Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text)复制剪贴板中的内容
  • SendInput (每个键)-将文本输入到TextBox中

这种办法的缺点是:

  • (不重要) PC变得不可用(脚本运行时无法工作)
  • 我必须知道应用程序中每个元素的精确像素(读取位置/坐标)。
  • 执行时间慢(每个键必须分别键入)

我期待创建一个应用程序,它可以单击TextBox/Button/List,而不需要这些元素的精确坐标。

用C# WinForms可以完成这样的任务吗?我现在的方法很管用,但也有缺点。有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2012-05-26 16:51:48

阅读关于互斥的文章。如果您计划的规模-能力,阅读有关网络通信(例如,TCP协议).TcpListnerTcpClient)。

票数 0
EN

Stack Overflow用户

发布于 2012-05-26 16:52:06

有一个完整的框架来完成这类事情,它被称为UI自动化框架

关于如何使用它的以下是一些例子

您还可以将此技术应用于通用窗口,使用UI间谍来确定自动化元素。

票数 0
EN

Stack Overflow用户

发布于 2012-05-26 16:53:11

这听起来像是UI自动化的工作。我只使用它从另一个应用程序获取文本,但它具有按名称激活控件或在没有名称的情况下导航控件树的功能。

您可以使用使用模式或导航控件树找到的AutomationElement获取文本并与控件交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10768093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档