GetWindowTextLength函数检索指定窗口标题栏文本的长度(如果窗口有标题栏)。如果指定的窗口是控件,则该函数将检索控件中文本的长度。
int GetWindowTextLength(
HWND 【的hWnd】 | //处理窗口或控件文本 |
); |
参数
【的hWnd】
标识窗口或控件。
返回值
如果函数成功,则返回值是文本的长度(以字符为单位)。在某些条件下,该值实际上可能大于文本的长度。有关详细信息,请参阅以下备注部分。
如果窗口没有文本,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
此函数使WM_GETTEXTLENGTH消息发送到指定的窗口或控件。
在某些条件下,GetWindowTextLength函数可能返回的值大于文本的实际长度。这与ANSI和Unicode的某些混合体发生,并且是由于操作系统允许在文本中可能存在DBCS字符。然而,返回值将始终至少与文本的实际长度一样大;您可以随时使用它来指导缓冲区分配。当应用程序使用同时使用Unicode的ANSI函数和公共对话框时,可能会发生此行为。当应用程序使用具有窗口过程为Unicode的窗口的GetWindowTextLength的ANSI风格,或者具有窗口过程为ANSI的窗口的Unicode风格时,也可能发生。
要获取文本的确切长度,请使用WM_GETTEXT,LB_GETTEXT或CB_GETLBTEXT消息或GetWindowText功能。
也可以看看
CB_GETLBTEXT, GetWindowText, LB_GETTEXT, SetWindowText, WM_GETTEXT, WM_GETTEXTLENGTH