触动精灵有没有类似和按键精灵类似的软件的GetUIXml功能

你的位置:
【超级模块】按键精灵插件之XML树
12:34:15 |
来源: 按键精灵资源站
本帖最后由 超级模块 于
10:48 编辑
误报申明:易语言写的DLL被误报是个问题,我们会尽快提交360金山进行认证,感谢您的支持!
添加信息 (“BlurMatch”, “匹配通配符(匹配文本,常量文本)[返回值:1相等,0不等]”, &BlurMatch, 2)
添加插件信息 (“CreateNewTree”, “创建(根节点名)[返回值:1成功,0失败]”, &CreateNewTree, 1)
添加插件信息 (“LoadFrom”, “导入(XML文件名)[返回值:1成功,0失败]”, &LoadFrom, 1)
添加插件信息 (“WriteToFile”, “导出(XML文件名,@字符集,@换行文本,@缩进文本)[返回值:1成功,0失败]”, &WriteToFile, 4)
添加插件信息 (“Release”, “释放()[无返回值]”, &Release, 0)
添加插件信息 (“GetRootNodeCaption”, “取根节点名()[返回值:根节点名称,0失败]”, &GetRootNodeCaption, 0)
添加插件信息 (“GetChildNodeNumber”, “取子节点数(节点全路径)[返回值:子节点的个数,0失败]”, &GetChildNodeNumber, 1)
添加插件信息 (“GetChildNodeCaption”, “取子节点名(节点全路径)[返回值:子节点名称列表,0失败]”, &GetChildNodeCaption, 1)
添加插件信息 (“GetChildNodeValue”, “取节点值(节点全路径)[返回值:节点值文本,0失败]”, &GetChildNodeValue, 1)
添加插件信息 (“GetBinaryValue”, “取二进制值(节点全路径)[返回值:十六进制文本,0失败]”, &GetBinaryValue, 1)
添加插件信息 (“GetNodeAttrName”, “取全部属性名(节点全路径)[返回值:所有属性的名称列表,0失败]”, &GetNodeAttrName, 1)
添加插件信息 (“GetNodeAttrValue”, “取属性值(节点全路径,属性名)[返回值:特定属性的值,0失败]”, &GetNodeAttrValue, 2)
添加插件信息 (“InsertNode”, “插入节点(父节点全路径,新节点名,新节点值,@使用CDATA)[返回值:1成功,0失败]”, &InsertNode, 4)
添加插件信息 (“InsertAttr”, “插入属性(节点全路径,新属性名,属性值)[返回值:1成功,0失败]”, &InsertAttr, 3)
添加插件信息 (“DelNode”, “删除节点(节点全路径)[返回值:1成功,0失败]”, &DelNode, 1)
添加插件信息 (“DelAttr”, “删除属性(节点全路径,属性名)[返回值:1成功,0失败]”, &DelAttr, 2)
添加插件信息 (“ModifyNodeCaption”, “修改节点名(节点全路径,新节点名)[返回值:1成功,0失败]”, &ModifyNodeCaption, 2)
添加插件信息 (“ModifyNodeValue”, “修改节点值(节点全路径,新节点值,@使用CDATA)[返回值:1成功,0失败]”, &ModifyNodeValue, 3)
添加插件信息 (“ModifyNodeBinaryValue”, “修改二进制值(节点全路径,修改二进制值)[返回值:1成功,0失败]”, &ModifyNodeBinaryValue, 2)
添加插件信息 (“ModifyNodeAttrCaption”, “修改属性名(节点全路径,属性名,新属性名)[返回值:1成功,0失败]”, &ModifyNodeAttrCaption, 3)
添加插件信息 (“ModifyNodeAttrValue”, “修改属性值(节点全路径,属性名,新属性值)[返回值:1成功,0失败]”, &ModifyNodeAttrValue, 3)
添加插件信息 (“BatchDeleteNode”, “批量删除节点(节点全路径)[返回值:1成功,0失败]”, &BatchDeleteNode, 1)
添加插件信息 (“BatchGetNodeValue”, “批量取节点值(节点全路径)[返回值:节点值列表,0失败]”, &BatchGetNodeValue, 1)
添加插件信息 (“BatchModifyNodeValue”, “批量修改节点值(节点全路径,新节点值,@使用CDATA)[返回值:1成功,0失败]”, &BatchModifyNodeValue, 3)
添加插件信息 (“GetRootNodeCaptionText”, “取根节点名文本(节点全路径)[返回值:名称文本,0失败]”, &GetRootNodeCaptionText, 1)
添加插件信息 (“GetChildNodeNumberb”, “取子节点个数(节点全路径)[返回值:子节点的个数,0失败]”, &GetChildNodeNumberb, 1)
添加插件信息 (“GetAllChildNodeCaption”, “取所有子节点名(节点全路径)[返回值:子节点名称列表,0失败]”, &GetAllChildNodeCaption, 1)
添加插件信息 (“GetChildNodeValueText”, “取节点值文本(节点全路径)[返回值:节点值文本,0失败]”, &GetChildNodeValueText, 1)
添加插件信息 (“GetBinaryValueb”, “取节点值字节集(节点全路径)[返回值:十六进制文本,0失败]”, &GetBinaryValueb, 1)
添加插件信息 (“GetNodeAttrCount”, “取属性个数(节点全路径)[返回值:属性个数,0失败]”, &GetNodeAttrCount, 1)
添加插件信息 (“GetNodeAllAttrName”, “取所有属性名(节点全路径)[返回值:属性名称列表,0失败]”, &GetNodeAllAttrName, 1)
添加插件信息 (“GetNodeAttrValueText”, “取属性值文本(节点全路径,属性名)[返回值:属性值文本,0失败]”, &GetNodeAttrValueText, 2)
添加插件信息 (“GetXMLData”, “取XML数据(@字符集,@换行文本,@缩进文本)[返回值:1成功,0失败]”, &GetXMLData, 3)
以上是插件中的功能,请将插个文件解压替换到Plugin目录中。压缩包中含详细说明。& &交流QQ群:&&
本帖隐藏的内容需要回复才可以浏览
杀软误报:
由于插件中的功能或驱动被大量用户使用,并可能用作一些非法用途,难免会出现个别插件报毒现象。可能性如下:
1.如:读写内存的驱动,就被用户广范用于读写其它进程的内存,达到某种破坏其它程序原本功能的情况,此种程序通具木马特性,因此,杀软通认为木马程序。虽然我们只是插件。
2.也有一些可能在以后被用户用作非法用途,如编写wai挂或盗号等程序,均会被杀软报为木马。由于插件DLL文件是跟编译后小精灵在一起的,那时将会被杀软一同认为木马程序,从而插件出现杀软报毒现象。
3.插件DLL程序由易语言编写,采用VB8编译器编译。在DLL公开使用一段时间后,360等杀软会通过云上传自动获得DLL特征码,将此列为木马行列,这是正常现象。
---------------------------
误报解决:
1.我们郑重承诺,我们插件均可放心使用,绝无后门功能等。请认准下载来源。
2.插件自带升级功能,我们会尽量及时升级程序,减少误报现象。
3.对于规范的正规功能插件(如:正则表达式,数据库等),我们会尽量提交杀软认证,认证过的插件,360下载会带绿色窗口提示安全!
4.对于某个报毒插件,您可以自行选择是否继续使用,若不放心使用可以自行删除。
---------------------------
按键精灵插件群:&&(500人超级群)
尊敬的插件用户:易语言写的DLL报毒是个问题,我们会在正式投放使用后,尽快提交360金山进行认证,感谢您的支持!GetUIXml 获取当前界面UI XML信息 BUG反馈 _ 按键精灵手机版 - 按键精灵论坛
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.2.9软件大小:62.5M更新时间:12-07
软件版本:1.3.1软件大小:29.2M更新时间:09-29
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 3825|回复: 10
chenzhi1210
代码如下:Import &shanhai.lua&
Dim XMLHtml
XMLHtml = shanhai.GetUIXml()
TracePrint XMLHtml
复制代码界面中不带特殊符号,可以正常返回界面信息;当遇到界面中带特殊符号时,不能返回界面信息,返回的是空字符串,可以解决吗?如下图有特殊符号,就不能正常获取:
&感谢反馈,已联系山海狮有空查看了&
chenzhi1210 最后编辑于
按键元老资深按键用户的尊贵荣誉勋章学有所成学有所成勋章,新手步入按键学堂的第一枚勋章QUI设计大师QUI设计大师龙年勋章(360天)龙年纪念勋章(360天)小编勋章感谢你为按键精灵教科书做出的贡献按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
应该是转码问题了
chenzhi1210
获取后,字符串长度为0,证明根本就没有获取到字符,怎么转码呢?
按键元老资深按键用户的尊贵荣誉勋章学有所成学有所成勋章,新手步入按键学堂的第一枚勋章QUI设计大师QUI设计大师龙年勋章(360天)龙年纪念勋章(360天)小编勋章感谢你为按键精灵教科书做出的贡献按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
获取后,字符串长度为0,证明根本就没有获取到字符,怎么转码呢? chenzhi1210 发表于
19:45:29 在shanhai.lua里改就行了
按键元老资深按键用户的尊贵荣誉勋章学有所成学有所成勋章,新手步入按键学堂的第一枚勋章QUI设计大师QUI设计大师龙年勋章(360天)龙年纪念勋章(360天)小编勋章感谢你为按键精灵教科书做出的贡献按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
最简单的方法就是跳过这一个列表了 继续搜索下一个
chenzhi1210
回复 我试了,山海是从“/sdcard/window_dump.xml”这个文件中读取内容,但这个文件是0字节,同样获取不到内容
过大年勋章俩小福娃给大家拜年啦!按键明星按键明星勋章按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
其他的界面可以获取?
chenzhi1210
回复 对,只要不带特殊字符,就能正常获取
过大年勋章俩小福娃给大家拜年啦!按键明星按键明星勋章按键精灵开发者6级可通过提升认证等级来升级勋章:rz.anjian.com
把消息复制出来看看
xiaonjiang
是啊,这个怎么办呢
闽网文 (-037号你的位置:
掌控POST(1)
14:39:35 |
来源: 按键精灵资源站
本帖最后由 michael3636 于
18:05 编辑
正名:&&&POST& 这个叫法是很不科学的,必须正名,它真的真名是: XHR&&(Xml Http Requset)
[hr]垫底的知识点:
浏览器是如何工作的(按键论坛为例)
当我们打开浏览器,在里面的输入网址(),然后按下回车之后:
浏览器连接DNS服务器:把按键的域名域名解析为IP地址(117.27.152.245:80),域名是为了让我们人类好记和容易理解而存在的.真正http通讯,它所需要的永远是IP地址.
当浏览器得到IP地址以后:连接这个按键论坛的IP
连接成功后:向地址服务器发送消息,消息永远分2个部分
浏览器自己发给服务的消息:比如:我是啥浏览器,我的工作系统是什么系统,我能处理什么格式的文件,我比较偏向简体中文的网页语言,我从什么网址来到你这个服务器的等等...
我们使用者向服务器提交的请求:比如我要去的地方是按键的综合讨论板块 等等
& &4.按键服务器接受到我们的请求以后开始工作了:
首先.给浏览器发个应答信息,意思是告诉浏览器,你的信息我收到了.我打算干啥.这个信息是用数字表达的..不同的数字代码不同的含义比如:200(代表我收到了,下面我将开始发给你你所请求的内容)301(我收到了,你去我给你的网址服务器拿吧,下面我把网址发给你)304(我收到了,你从缓存去拿网页吧..我就不发了)400(我收到了..但是你发的是啥啊我看不懂)404(我收到了,但是你请求的东西不存在啊)等等
如果服务器返回的数字是200,这个工作才存在,服务器给浏览器发送数据,数据也包括2个内容,发给浏览器本身的和发给我们的,发给浏览器的有:我是啥服务器,我发给你的时间是什么时间(服务器的时间哦,,大家想到点啥?),我发给你的内容是用什么方式压缩的,我发给你的内容一共多长,我发给你的网页是用什么字符编码的,等等等 顺便提一下:cookie也是在这发的......第2部分:发给我们的网页的内容
& & 5.浏览器开始接受服务器发来的内容,根据服务器发给浏览器本身的东西,开始工作,哦..你用gzip压缩过啊..我就用gzip方式解& && &压, 哦,你用gbk编码的啊..我得用gbk解码,哦你发的cookie啊..我该存的存,该改的改,,该删的删...哦,这是你的网页源文件啊..我收收收..
& & 6.数据接收完成后,浏览器开始处理数据了,网页里的代码该执行的执行,网页里的图片和文件该下载的下载(这类文件是不包含在网页里的,网页里只有一个链接,浏览器得灯具链接去下载才能得到),根据网页里的css内容,基于网页元素进行排版,最终生成网页,显示在我们眼前
& & 7.响应用户的各种操作,根据用户的操作做出相应的行为,或者是提交表单.或者去是一个链接,或者是运行一段js代码等等
& & 以上,就是浏览器的工作流程,当我们在浏览器里点击链接或者输入地址的后,,它就和服务器重复的进行如上的工作,从而让我们看到并操作网页
[hr]本帖隐藏的内容需要回复才可以浏览
& && & 啰嗦完了,我尽量用了最最普通的文字去解解释所有涉及的知识概念,可能不是很精确.大家谅解吧..毕竟我的期望是所有人都能看懂!!!你的位置:
掌控POST(3)
14:05:29 |
来源: 按键精灵资源站
本帖最后由 michael3636 于
21:45 编辑
接着 Part 2 我们继续深入.先根据我们之前学到的东西,开个批判大会,按键在&我的,命令库自带有2个函数&,一个是获取网页源文件,一个是获取网络时间,我们一起来足个批判..写的啥垃圾东西嘛,上代码
按键的&获取网页源文件&代码
[code]Function 获得网页源文件(网页地址)
& & //说明:支持远程获取文本内容,如:MsgBox lib.网络.获得网页源文件(&http://www.anjian.com/test.txt&)
& & //例子:MsgBox lib.网络.获得网页源文件(&http://www.anjian.com&)
& & Dim xmlHttp, xmlBody, xmlUrl
& & Dim ThisCharCode ,NextCharCode ,BytesToBstr
& & If InStr(网页地址, &http://&) = 0 Then
& && &&&xmlUrl = &http://& & 网页地址
& && &&&xmlUrl = 网页地址
& & End if
& & Set xmlHttp = CreateObject(&Microsoft.XMLHTTP&) //&font color=&Red&&&b&对象用老了,不适合了,就算用新的也不适合,容易被缓存和cookie干扰&/b&&/font&
& & xmlHttp.Open &Get&, xmlUrl, False
& & xmlHttp.Send
& & xmlBody = xmlHttp.ResponseBody //&font color=&Red&&&b&返回的是字节数组&/b&&/font&
& & Set xmlHttp = Nothing&&
& & 获得网页源文件 = &&
& & If Len(xmlBody) = 0 Then Exit Function //&b&&font color=&Red&&字节数组该用LenB()函数&/font&
&/b&& & Set ObjStream = CreateObject(&Adodb.Stream&) //&font color=&Red&&&b&开始转码&/b&
&/font&& & With ObjStream
& && &&&.Type = 1
& && &&&.Mode = 3
& && &&&.Open
& && &&&.Write xmlBody
& && &&&.Position = 0
& && &&&.Type = 2
& && &&&.Charset = &GB2312& //&b&&font color=&Red&&把返回的内容(字节数组,也就是二进制数据)不管三七二十一统统转成&GB2312&编码&/font&&/b&
& && &&&BytesToBstr = .ReadText
& && &&&.Close
& & End With
& & Set ObjStream = Nothing& &
& & 获得网页源文件 = BytesToBstr
End Function[/code]看完代码心向往之,下面详细说明烂在哪里:
本帖隐藏的内容需要回复才可以浏览[code]Function 获得网页源文件(网页地址,网页编码) //多个参数.设置编码.跟乱码说88
& & Dim xmlHttp, xmlUrl,ObjStream
& & If InStr(网页地址, &http://&) = 0 Then
& && &&&xmlUrl = &http://& & 网页地址
& && &&&xmlUrl = 网页地址
& & End if
& & Set xmlHttp = CreateObject(&WinHttp.WinHttpRequest.5.1&) //用这个对象,跟缓存/cookie 干扰说88
& & xmlHttp.Open &GET&, xmlUrl, True
& & xmlHttp.Send
& & If xmlhttp.waitforresponse() Then
& && && && &Set ObjStream = CreateObject(&Adodb.Stream&)
& && && && && & ObjStream.Type = 1
& && && && && & ObjStream.Mode = 3
& && && && && & ObjStream.Open
& && && && && & ObjStream.Write xmlHttp.ResponseBody
& && && && && & ObjStream.Position = 0
& && && && && & ObjStream.Type = 2
& && && && && & ObjStream.Charset = 网页编码
& && && && && & 获得网页源文件 = ObjStream.ReadText
& && &&&Else
& && &&&获得网页源文件=False&&//如果获取失败返回值是false
& & End If
End Function
// 调试 Plugin.Sys.SetCLB(获得网页源文件(&www.baidu.com&,&utf-8&)) //百度
// 调试 Plugin.Sys.SetCLB(获得网页源文件(&www.sina.com.cn&,&gbk&)) //新浪
[/code][hr]
按键的&获取网络时间&代码.获取网络至于跑国外去么..难不成中国的钟没外国的准?,再说了..俺要淘宝服务器时间.俺要新浪时间..俺要按键时间..咋办啊?最离谱的干啥用&PUT&方式嘛,最最省事的&HEAD&方式足够了懒得批判了.直接上代码
[code]Function 获得网络时间(网页地址)
& & Dim Http, URL,mt
& & If InStr(网页地址, &http://&) = 0 Then
& && &&&Url = &http://& & 网页地址
& && &&&Url = 网页地址
& & End if
& & Set Http = CreateObject(&WinHttp.WinHttpRequest.5.1&)
& & Http.Open &HEAD&, URL, True //head方式,因为服务器返回的头部里面就有时间..所以不需要网页了
& & Http.Send
& & If Http.waitforresponse() Then
& && &&&mt = Http.getresponseheader(&Date&) //从头部取到时间..js格式的(带有星期几跟时区的格式,跟vbs不一样)
& && &&&mt = Cdate(Mid(mt, 5, len(mt) - 8))&&//截取js格式的时间字符串.得到vbs的模式的时间
& && &&&获得网络时间 = DateAdd(&h&, 8, mt) //中国是8时区,而服务器普遍是世界标准时,也就是0时区得时间.所以得加上8小时
& && &&&获得网络时间=False //失败返回false
& & End If
End Function
TracePrint 获得网络时间(&msdn.microsoft.com&) //去微软取时间玩
TracePrint 获得网络时间(&www.taobao.com&) //看看淘宝服务器时间
TracePrint 获得网络时间(&www.qq.com&) //看看qq网站时间
[/code][hr]
写到这,蛮多代码,蛮多大家没见过的属性方法.相信大家也很莫名了..是该总结下的时候了,
Set http = CreateObject(&WinHttp.WinHttpRequest.5.1&) //创建对象.没啥好说的
http.SetProxy&&// 设置代理:0代表系统代理,需要特定软件设置,1代表直连(不用代理,默认),& &2代表使用代理,& &两个参数设置代理(如:http.SetProxy 2,&156.32.25.21:8087&)
http.SetTimeouts&&//超时设置,4个参数,单位毫秒: 域名解析超时,连接超时,发送请求超时,服务器返回内容超时 默认值为:0,,30000 (0代表无限制)
& && &几个有用的属性:
http.[option](0)=你设置的值& &&&告诉服务器我是谁,我们可以设置火狐/ie/谷歌随你冒充,,,,,,一般不用 默认值你可以自己tr一下看看
http.[option](2)=你设置的值&&设置发送的URL链接的编码.默认是65001(UTF-8),其他常用的是 936(GB(BIG5)
http.[option](6)=布尔值 是否激活网页重定向,默认是启用,一般不常用,默认即可
& && & 补充:对象的option属性实质上是个数组,有很多内容,我仅仅把有可能用到的罗列出来
http.OPen 方法:打开对象,常用参数3个 请求方式,请求地址,是否异步请求
http.SetRequestHeader : 设置请求头的方法,参数有2, 头部项目,对应的值 如 :http.setrequestheader &Accept-Encoding&,&gzip, deflate& (告诉服务器,能接受的压缩方式),一般用于&POST&方式,因为&POST&方式有2个请求头必须我们自己设置,详见 Part 2. 该方法总是出现在open之后,send之前
http.send : 向目标服务器发送请求,&POST& 方式的话,需要加上请求内容.如果open方法的异步请求设置为false,此方法将是一个阻塞操作,程序到此将暂停,直到服务器返回信息或者请求失败.如果设置为true,代码将不会暂停.继续执行
http.waitforresponse&&:当open方法的异步请求设置为true时.此方法才起作用,等待请求完成,代码到此暂停..直到请求有个结果,返回值为布尔值,表明请求失败或者成功,参数可有可无,参数为请求超时的秒数,超过参数设置极为请求失败,返回false.不设置参数则以http.SetTimeouts设置的参数为准
& && & 以下属性只有当请求成功以后才有意义:
http.GetResponseHeader :取得服务器返回的头部的指定项目的值,用法同http.SetRequestHeader,2者的区别是,一个是设置发给服务器的头部,一个是取得服务器返回的头部
http.GetAllResponseHeaders 取得服务器所返回的头部的所有内容
http.ResponseText 只读属性,取得服务返回的文本
http.ResponseBody 只读属性,取得服务器返回的最原始数据,(2进制数据,即字节数组类型)
好了..一口气说完了.下面说下3种对象各自的优缺点
& && & &WinHttp.WinHttpRequest.5.1&的特点:
使用上无任何限制,我们可以设置任何请求的头部参数和内容,cookie和缓存对象内部自维护,这意味着..我们可以创建10个对象,同时使用10个对象在按键登陆10个账号.
& && & &Msxml2.serverXMLHTTP.6.0&
无法在请求头设置&Referer&项目,即无法进行来源冒充,其他基本跟上面相同,无waitforresponse方法.但是有readyState属性.可以用该属性是否等于4来进行请求是否成功的判断
& && & &Msxml2.XMLHTTP.6.0&
无法设置&Cookie&,无法来源冒充,跟IE共享cookie/缓存/代理,超时无法设置.其他跟上面差不多,这也意味着,你无论建立多少个对象,都是使用一样的cookie,意味着无法同时对同一个网站进行多账号操作
看上去好像这东西最没用,但是换个方式想:比如,我开个ie登陆按键,顺便勾下&自动登陆&.然后退出ie,,然后创建个这个对象去随便&GET&按键论坛,,,啊哈..啥都没干直接登陆状态啊.....
这个对象如何克服该死的缓存问题.其实很简单..open以后加一句:http.setrequestheader &If-Modified-Since&,&Tue 24 Feb :04 GMT& ,然后按照正常步骤来..齐活啦...木有缓存困扰啦.这行代码的意思是:给请求头加一个 &If-Modified-Since&项目,内容是一个过去的js格式日期,只要过去的就行了,解释就是:浏览器告诉服务器说:大哥,自从这个日期以后你网页变过没啊,如果变过发给我啊.......这肯定是废话...09年当现在都几年过去了,,网页肯定变过了,,服务器大哥就发过来网页了...而不是发个304让你自己从硬盘解决(其实实际情况很复杂,有时候根本连请求都不发直接读缓存..这里不展开了)
& && & 本帖隐藏的内容需要回复才可以浏览拒绝访问 | www.ggdoc.com | 百度云加速
请打开cookies.
此网站 (www.ggdoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(423628faec3e43e9-ua98).
重新安装浏览器,或使用别的浏览器}

我要回帖

更多关于 和按键精灵类似的软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信