博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#控制WPF程序自动登录(Automation方式实现)
阅读量:5166 次
发布时间:2019-06-13

本文共 1074 字,大约阅读时间需要 3 分钟。

说明:winForm窗体,可以通过win32接口dll的findWindow之类的函数来实现查找winform窗口,mfc窗口等。

但是wpf却是不实用这些,可以靠automation方式来进行操作。

通常可以用来其他c#程序,控制wpf程序来模拟登录按钮事件等。

本程序就是通过找到文本框元素和按钮元素,来实现赋值和点击,从而模拟登录的。

主要代码如下:

1.根据窗口名称查找到“主窗体AutomationElement元素”

 var rootElement = AutomationElement.RootElement;

  Condition mainWindowCondition = new PropertyCondition(AutomationElement.NameProperty, "MainWindow");

2.根据“主窗体AutomationElement元素”,查找窗体子元素并赋值

  var appElement = rootElement.FindFirst(TreeScope.Children, mainWindowCondition);

//文本

var txt = appElement.GetElementByName("tbx");

var txtPattern = txt.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;

if (txtPattern != null) txtPattern.SetValue("新的名字");

3.根据“主窗体AutomationElement元素”,查找窗体子元素并实现点击事件

//按钮

var btn = appElement.GetElementByName("btn");

var btnPattern = btn.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern;

if (btnPattern != null) btnPattern.Invoke();

 

源码:https://files.cnblogs.com/files/lizhijian/wpf%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95%E5%AE%9E%E7%8E%B0.rar

感谢阅读

 

转载于:https://www.cnblogs.com/chlm/p/8434534.html

你可能感兴趣的文章
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
多路复用
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
【UVA】434-Matty's Blocks
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>
Day03:Selenium,BeautifulSoup4
查看>>
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>