首页 > 技术文章 > GetWindowTextA - 将指定窗口的标题条文本拷贝到一个缓存区内

hb01846 2019-05-23 14:07 原文

函数原型:Int GetWindowTextA(HWND hWnd,LPTSTR lpString,Int nMaxCount);

该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText可能无法获取外部应用程序中控件的文本,获取自绘的控件或者是外部的密码编辑框很有可能会失败。

参数/GetWindowTextA

hWnd带文本的窗口或控件的句柄

lpString指向接收文本的缓冲区的指针

nMaxCount指定要保存在缓冲区内的字符的最大个数,其中包含NULL字符。如果文本超过界限,它就被截断

返回值

如果函数成功,返回值是拷贝的字符串的字符个数,不包括中断的空字符;如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。若想获得更多错误信息,请调用GetLastError函数。

函数不能返回在其他应用程序中的编辑控件的文本。

Requirements

  
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
int GetWindowTextW(
  HWND   hWnd,
  LPWSTR lpString,
  int    nMaxCount
);

推荐阅读