今天做一个自动化操作的脚本,遇到个莫名其妙的问题,用aardio的winex.findEx(hwnd_game_sub,1,”Edit”)函数查找一个edit控件,找到的结果却总是不准确。做了很多检查、测试,发现找到的其实是另外一个控件, 很奇怪为什么输入的查找参数都正确,找到的确实别的控件。最后发现找到的这个错误的控件类名是:RichEdit20A,突然想到:aardio的查找函数应该用的是他的什么“模式匹配”,类似于正则表达式。翻阅手册发现确实是这样,查找函数里面的类名参数“Edit”,其实只要整个类名字串里面包含这几个字母就算符合,所以才会找错。手册里面介绍在字串开头添加@符号可以禁用模式匹配,但是我测试后发现没用。最后采用设置起始和结束限制才搞定了。不会查找出错的代码是:winex.findEx(hwnd_game_sub,1,”^Edit$”);
最新评论