在所有情况下切换到桌面或我的程序的有效方法?

时间:2011-12-27 14:07:23

标签: c# .net windows api system

我正在制作一个重要的通知程序,所以我必须确保当事件(满足通知条件)发生时,用户必须看到它。但是,我还没有找到一种可以从所有游戏切换到我的程序(或至少是桌面)的方法。

是否有一种有效的方法可以在所有情况下切换到桌面(3D游戏,也许像Game Guard那样game protection,...,其他全屏程序)?

1 个答案:

答案 0 :(得分:3)

你在这里打败了一场失败的战斗。 What if two programs did this?

您认为您的程序的通知至关重要,并且愿意做任何事情来使他们中断用户正在做的任何事情。

您正在与之对抗的应用(通常是游戏)认为,他们完全身临其境的用户体验对用户体验至关重要,因此他们愿意做任何可以防止其他应用窃取其焦点的事情。< / p>

您认为会发生什么?你认为谁会赢?

答案当然是无关紧要的。但有一件事是肯定的:用户是将失去的人。就像孩子在父母打架时总是输了一样,无论哪个父母赢得那个特定的论点。

在我看来,无论当前的任何应用程序都关注的是应该赢得战斗的应用程序,并且大多数用户都有同样的感觉。实际上,用户感觉非常强烈,微软最近加强了Windows对其他应用程序窃取前景焦点的能力的限制。

像往常一样,Windows不提供您要求的功能,因为没有人认为您的应用程序会如此惊人以至于需要这样的功能。 Sorry about your bonus


修改:如果上述讨论的答案不明显,解决方法是显示正常通知,例如在任务栏的Notification Area中。用户在完成游戏后或者在方便的时候会看到它。这就是你能做或应该做的一切。