如何检查我的应用程序是否具有焦点?

fos*_*ilz 8 delphi winapi vcl notification-area

我想要做的是检查我的应用程序是否具有焦点,因为如果不是,那么我将在通知区域上方弹出警报窗口以向最终用户显示一些消息.

Rem*_*eau 16

调用Windows.GetForegroundWindow()然后传递HWNDControls.FindControl()函数.TWinControl如果HWND属于您的进程,它将返回一个非零指针.例如:

if FindControl(GetForegroundWindow()) <> nil then
  // has focus ...
else
  // does not have focus ...
Run Code Online (Sandbox Code Playgroud)


Ant*_*nko 5

D2007 有这个有用的属性

if Application.Active then
//
Run Code Online (Sandbox Code Playgroud)