文章目录[隐藏]
511遇见易语言大漠模块制作的第七课,主要是窗口的相关命令,包括取窗口类名,取窗口标题,取窗口窗口_句柄取线程ID,通过API函数来实现。
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
高清下载:百度云链接:http://pan.baidu.com/s/1qYRRuBa
本人QQ: 272586593
源码、下载密码、和高清视频进QQ群: 521068947 到群文件下载。
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。