以编程方式中断活动屏幕保护程序?

时间:2009-05-14 15:45:40

标签: c# .net windows winforms screensaver

原因: 我正在开发一个需要在桌面上显示信息的紧急警报应用程序。当客户端收到警报时,会弹出一个窗口。如果屏幕保护程序处于活动状态或监视器处于待机状态,则警报将不可见。我想知道是否可以通过某种程序式鼠标移动或系统调用来唤醒计算机,以便警报可见。我认为鼠标移动或按键唤醒它的原因是因为硬件中断所以可能无法实现。

目前,该项目正在C#中实施。 我很想知道有关Windows,MAC和Linux的解决方案。

这是客户要求。我考虑过以下几点:

  • 在大多数计算机处于不活动状态后,用户必须登录。那些电脑无法获得警报
  • 如果屏幕保护程序处于活动状态,则很有可能无论如何都没有人在计算机上。

我不是想:

  • 防止屏幕保护程序或节能模式一起激活。

1 个答案:

答案 0 :(得分:4)

基于fbonnet所说的,要使用C#中kb文章中显示的功能,pinvoke.net网站是一个很好的资源。他们还有一篇关于PostMessage函数here的文章。

因此,让代码正常工作的基本方法是搜索kb网站上pinvoke.net文章中列出的功能。 或者您可以阅读this article为您完成此操作。