获取最小化窗口的句柄?

Bil*_*ill 1 delphi delphi-xe4

我可以使用FindWindow按标题获取窗口句柄,但如果窗口最小化,则无法获得窗口句柄.如何获得最小化窗口的句柄?

hWindow := FindWindow(nil, iWindowTitle);
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 5

FindWindow不关心窗口是否最小化.如果您的调用FindWindow返回零,则表示没有包含该标题的顶级窗口.

要证明这种情况,请打开记事本的实例并将其最小化.然后运行这个程序:

{$APPTYPE CONSOLE}

uses
  Windows;

begin
  Writeln(FindWindow(nil, 'Untitled - Notepad'));
  Readln;
end.
Run Code Online (Sandbox Code Playgroud)

显而易见的是,当你正在寻找的窗口被最小化时,它没有你认为它的标题.你可能需要使用像Spy ++这样的工具来调试它.