收集所有活动的窗口类名称

时间:2011-08-17 16:50:36

标签: windows delphi winapi window delphi-7

许多程序(True Transparancy和其他程序)都可以在后台窗口类名中运行或运行,如下所示:

Delphi 7对象检查器名称为tpropertyinspector
Opera主窗口类名称为operawindowclass

那么如何在Delphi中获取任何打开的窗口类名?

2 个答案:

答案 0 :(得分:8)

致电EnumWindows以获取所有顶级窗口。然后调用GetClassName找出每个窗口的窗口类名。如果您还想探测子窗口,请在每个顶级窗口上调用EnumChildWindows

像这样调用GetClassName:

var
  ClassName: string;
  len: Integer;
...
SetLength(ClassName, 256);
len := GetClassName(window, PChar(ClassName), Length(ClassName));
if len=0 then
  RaiseLastOSError;
SetLength(ClassName, len);

答案 1 :(得分:3)

只需使用Windows API中的GetClassName功能(Delphi中与任何语言相同)。