易语言制作大漠API模块取窗口类名标题

171 篇文章 26 订阅
143 篇文章 13 订阅

主要是窗口的相关命令,包括取窗口类名,取窗口标题,取窗口窗口_句柄取线程ID,通过API函数来实现。

 

第七课511遇见易语言大漠模块制作API取窗口类名标题

1、窗口_取类名

类名 = 取空白文本 (50)
GetClassNameA (窗口句柄, 类名, 50)
返回 (类名)

2、窗口_句柄取线程ID

返回 (GetWindowThreadProcessId (窗口句柄, 进程ID))
GetWindowThreadProcessId

函数功能:该函数返回创建指定窗口线程的标识和创建窗口的进程的标识符,后一项是可选的。

3、窗口_取标题

局_缓冲大小 = GetWindowTextLength (窗口句柄) + 1
局_缓冲区 = 取空白文本 (局_缓冲大小)
GetWindowTextA (窗口句柄, 局_缓冲区, 局_缓冲大小)
返回 (局_缓冲区)

(1)GetWindowTextLength

函数功能:该函数返回指定窗口的标题文本(如果存在)的字符长度。如果指定窗口是一个控件,函数将返回控制内文本的长度。但是GetWindowTextLength函数不能返回在其他应用程序中的控制的文本长度。
返回值:如果函数成功,返回值为文本的字符长度。在一定的条件下,返回值可能比实际的文本长度大。如果窗口无文本,返回值为零。

在一定的条件下,函数GetWindowTextLength的返回值可能比实际的文本长度大。这是由于ANSI和Unicode的混和使用以及系统允许DBCS字符在文本内存在的原因,但是函数返回值要至少与文本的实际长度相等,因此可以利用这一点指导缓存区的分配。在应用程序既使用ANSI函数又使用Unicode的普通对话框时就会有缓存分配的问题;同样,当应用程序在一个Unicode的窗口过程中使用了ANSI的GetWindowTextLength函数,或在一个ANSI的窗口过程中使用了Unicode的GetWindowTextLength函数的时候也有缓存分配的问题。

(2)GetWindowTextA

该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收其他应用程序中控件的文本。

函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);
hWnd:带文本的窗口或控件的句柄。
IpString:指向接收文本的缓冲区的指针。
nMaxCount:指定要保存在缓冲区内的字符的最大个数,其中包含NULL字符。如果文本超过界限,它就被截断。

如果函数运行成功,返回值是不包含结尾NULL字符的字符串长度。如果指定的窗口(或控件)没有标题栏或者TEXT属性,如果标题栏为空,又如果给定的句柄是无效的,那么返回值是0。

源码:511遇见易语言大漠模块制作API取窗口类名标题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

511遇见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值