如何防止托盘通知在不可查看时排队



我有一个 .NET 应用程序,它在系统托盘中最小化运行,并在发生某些操作时提供通知。当用户未登录或屏幕锁定时,这些通知显然正在排队,以便下次用户登录时,它们将按顺序显示所有过期的通知。我想做的是防止在用户看不到通知(注销或锁定屏幕)时显示通知。或者,如果更容易,请对其进行配置,以便用户在注销时看不到他们错过的所有通知。寻找此类案例的最佳实践。谢谢。

您可以使用SessionSwitchEventHandler来检测工作站是否已锁定。

可以使用 WMI Win32_LogonSession类来查询系统上的所有交互式登录。然后,您可以决定是否要显示通知。

再说一次,如果它真的是一个应用程序而不是一个服务,你无法真正检查用户是否以交互方式登录,因为应用程序进程由交互式登录用户拥有(当他们注销时,他们拥有的所有进程都被杀死)

最新更新