Delphi如何获得窗口的名字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi如何获得窗口的名字?相关的知识,希望对你有一定的参考价值。

就是获得我当前所有运行的窗口名,用来做老板键的。就比如,我桌面上有记事本、百度网页、和Q聊这几个窗口,就可以获取他们的名字,存入数组。

参考技术A 用WindowsAPI
EnumWindows可以实现你想要的功能。
EnumWindows枚举所有窗口,用GetWindowText获得标题。
具体代码如下:
function
EnumWndProc(hwnd:
THandle;
lParam:
LPARAM):
Boolean;
stdcall;
var
wndTitle:
array[0..255]
of
Char;
begin
//获取窗口名称
if
GetWindowText(hwnd,
wndTitle,
255)
>
0
then
begin
//参数lParam转换为TStrings,添加窗口标题
TStrings(lParam).Add(wndTitle);
end;
//返回True则继续下一个窗口,否则停止
Result
:=
True;
end;
procedure
TForm1.Button1Click(Sender:
TObject);
var
List:
TStrings;
begin
List
:=
Memo1.Lines;
EnumWindows(@EnumWndProc,
Integer(List));
end;

c# 在知道数据窗口的句柄的时候如何获得数据窗口的数据

这是一个pb写的程序,请问我怎么用C# 通过句柄获得这个数据窗口的数据。

参考技术A 这个必须要用win API了:

FindWindow找窗口句柄
FindWindowEx找文本框句柄
最后用GetWindowText 取内容

关于C#调用WinAPI的方法,请自行百度

以上是关于Delphi如何获得窗口的名字?的主要内容,如果未能解决你的问题,请参考以下文章

delphi获得当前鼠标坐标

delphi中如何获得当前屏幕photoshop选择区域右上角的坐标值

Delphi 我想获得进程句柄,怎么每次都变化

Delphi 我想获得进程句柄,怎么每次都变化

Delphi做的一款软件,最小化后edit不能获得焦点

c ++如何获得系统所有窗口名称 包括隐藏窗口