Windows 10:允许 1 个程序在任务栏中闪烁时获得焦点或将其最小化

Windows 10:允许 1 个程序在任务栏中闪烁时获得焦点或将其最小化

我在调用某个程序时遇到问题,它不显示在屏幕上,而只显示在后台,并且其图标和标题在任务栏中闪烁。

然而,当程序最小化时,这种情况不会发生。然后它会在前台正常打开。

我不想使用“始终在顶部”应用程序,因为我通常从资源管理器窗口或通过 Chrome 等来编辑这些文件。

我如何让它在被调用时始终处于焦点位置?或者当不处于焦点位置时自动最小化它?

答案1

设置前台窗口

SetForegroundWindow函数将创建指定窗口的线程置于前台并激活该窗口。键盘输入被定向到该窗口,并为用户更改各种视觉提示。系统为创建前台窗口的线程分配的优先级略高于其他线程。

前台窗口是 Z 顺序顶部的窗口。它是用户正在使用的窗口。在抢占式多任务环境中,通常应该让用户控制哪个窗口是前台窗口。

Windows 98/Me、Windows 2000/XP:系统限制哪些进程可以设置前台窗口。只有当下列条件之一成立时,进程才可以设置前台窗口:

  • 该进程是前台进程。

  • 该过程由前台进程启动。

  • 该进程收到了最后一个输入事件。

  • 没有前台进程。

  • 前台进程正在调试。

  • 前台没有被锁定(见LockSetForegroundWindow)。

  • 前台锁定超时已到期(请参阅SPI_GETFOREGROUNDLOCKTIMEOUTSystemParametersInfo

  • Windows 2000/XP:没有活动菜单。

通过这一更改(从 Win 95/NT4 开始),应用程序无法强制窗口 当用户正在使用另一个窗口时移到前台相反,SetForegroundWindow将激活窗口(参见SetActiveWindow)并调用FlashWindowEx函数来通知用户。

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setforegroundwindow

相关内容