易语言怎样获取其他窗口程序内的文字

易语言怎样获取其他窗口程序内的文字,第1张

首先,如果其他程序不是自绘出来的。如果是自绘出来的话,是找不到那个按钮的ID的。如果不是自绘的窗口。那么可以获得窗口内的所有子窗口句柄

先:枚举顶级窗口 ( , )

寻找子窗口 (窗口句柄, 0, “Edit”, “”)

枚举子窗口 (窗口句柄, &枚举窗口内的句柄, 0)

最终得到文字:句柄 = 子句柄 [14]‘这里的就是窗口内第几个子窗口句柄。我这个是以前做游戏自动喊话得到的窗口句柄。

取得用户名是可以的,登陆密码不行;

易语言调用API“GetUserName”就可以取得。

Dll命令:GetUserName 返回值类型:整数型 Dll库文件名:advapi32dll 在Dll库中的命令名:GetUserNameA 参数:lpBuffer 数据类型:文本型 参数:nSize 数据类型:整数型 <传址> ---------------------------------------------------------------- 局部容器:当前用户名 数据类型:文本型局部容器:用户名长 数据类型:整数型 用户名长 = 199 当前用户名 = 取空白文本 (200) GetUserName (当前用户名, 用户名长) 当前用户的名字就在“当前用户名”容器里,“用户名长”是实际的用户名长度两个容器经过调用已经被改变,当前用户的名字不在GetUserName返回值里,它的值不等于0表示成功,0表示失败。

版本 2

支持库 spec

支持库 eAPI

子程序 _按钮1_被单击

局部变量 句柄, 整数型

局部变量 WINDOWPLACEMENT, WINDOWPLACEMENT

句柄 = 取指定窗口句柄 (“TXGuiFoundation”, “QQ2012”) ' 取出QQ登陆框的 句柄

如果真 (句柄 ≠ 0)

' --------------------------QQ登陆窗口的位置-------------------------------

取窗口位置 (句柄, WINDOWPLACEMENT)

调试输出 (“顶边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositiontop))

调试输出 (“左边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositionLeft))

调试输出 (“右边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositionRight))

调试输出 (“底边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositionBottom))

' ----------------------------密码框的位置--------------------------------

调试输出 (“密码框顶边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositiontop + 184))

调试输出 (“密码框左边 = ” + 到文本 (WINDOWPLACEMENTrcNormalPositionLeft + 120))

模拟鼠标点击 (WINDOWPLACEMENTrcNormalPositionLeft + 125, WINDOWPLACEMENTrcNormalPositiontop + 189, 0)

' 取出来的是编辑框的右上角一个点。加多5个坐标,保证能点到编辑框。

模拟按键 (#A键, #B键, #C键)

如果真结束

“dll命令-----------------

版本 2

DLL命令 取窗口位置, 整数型, "user32", "GetWindowPlacement", 公开

参数 窗口句柄, 整数型

参数 信息结构, WINDOWPLACEMENT

DLL命令 取指定窗口句柄, 整数型, , "FindWindowA"

参数 窗口类名, 文本型

参数 窗口标题, 文本型

‘自定义数据-----------------------------------

版本 2

数据类型 WINDOWPLACEMENT, 公开

成员 Length, 整数型

成员 flags, 整数型

成员 showCmd, 整数型

成员 ptMinPosition, point

成员 ptMaxPosition, point

成员 rcNormalPosition, rect

数据类型 point, 公开

成员 x, 整数型

成员 y, 整数型

数据类型 rect, 公开

成员 Left, 整数型

成员 top, 整数型

成员 Right, 整数型

成员 Bottom, 整数型

一般就是直接读游戏内存基址的,如果你不会在游戏找。那试试在外挂里面找,首先,你要会用VE之类的东西、

你试试用ve之类的查找文本型,哪个数值就找哪个,得出外挂的基址试试,那就读内存文本型就行了,如果不行,建议你还是学学直接找游戏基址好了

“另一个软件编辑框”是什么意思?

指的是其他软件编辑框中的内容吗?

可以试试用超级模块中的 取标题() 来获取了。

需要提供的句柄通过易语言自带的 取鼠标所在窗口句柄() 就可以获得了。

提醒:对于类似QQ这种只有一个句柄的程序来说,这种方法无效

需要使用到超级模块,请自行下载。

以下是代码:

以下是界面:

运行效果:

你要去看数组再内存中的结构

然后计算计算这个结构体再内存的的储存方式

在计算出来每个数据的地址

比如一个数据类型里有一个短整数

一个长整数

2中数据成员

短整数是占用2个字节

长整数8个字节

再内存中这个数据类型是占用字节最长的数据类型的整数倍

比如

刚才的

2+8是错误的

而是

8+8

占用16字节

短整数多出来的字节是补充6个字节进去凑够8字节

如果还有个4字节

就再补充4字节

2+6

+

4+4

+

8

24字节

编程语言调用格式: 〈文本型〉 取窗口标题 (整数型 窗口句柄) - 应用接口支持库->窗口 *** 作 英文名称:GetWindowText 取指定窗口的标题。成功返回窗口标题,失败返回空。

以上就是关于易语言怎样获取其他窗口程序内的文字全部的内容,包括:易语言怎样获取其他窗口程序内的文字、易语言怎样获取当前运行的用户名、易语言如何获取外部窗口的组件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9572604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存