Delphi 窗体函数GetWindowText -获取窗口的标题

GetWindowText函数

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

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

参数:

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

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

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

返回值:

如果函数成功,返回值是拷贝的字符串的字符个数,不包括中断的空字符;如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。

//声明:
GetWindowText(
  hWnd: HWND;        {窗口句柄}
  lpString: PChar;   {接收文本的缓冲区的指针}
  nMaxCount: Integer {指定缓冲区大小, 其中包含NULL字符; 如果文本超出,会被被截断}
): Integer;          {返回字符个数, 不包括中断的空字符; 如果标题为空或句柄无效, 则返回零}     


//举例:
var
  arr: array[0..254] of Char;
begin
  GetWindowText(Handle, @arr, SizeOf(arr));
  ShowMessage(arr); {Form1}
end;


//标题文本个数:
var
  arr: array[0..254] of Char;
  num: Integer;
begin
  num := GetWindowText(Handle, arr, SizeOf(arr));
  ShowMessage(IntToStr(num)); {5}
end;

  

创建时间:2020.01.03