启动自定义屏幕保护程序+锁定机器

时间:2012-09-21 12:32:42

标签: c# wpf

在我的应用程序中,当用户想要休息并点击注销按钮时,我想完成两件事。

  1. 锁定机器
  2. 启动自定义屏幕保护程序,以显示用户退出的时间。
  3. 我设法通过以下方式轻松完成锁定:

    [DllImport("user32.dll")]
    private static extern void LockWorkStation();
    

    我找到了关于如何制作自定义屏幕保护程序的tutorial。我下载了示例代码并且工作正常。但是当我添加 LockWorkStation(); 行时,它就杀死了屏幕保护程序。

    您可以帮我解决此问题或建议解决方法吗?

    修改

    这个来自教程的屏幕保护程序就是WinForm。我应该以某种方式将其安装到系统中?是否可以形成我的应用程序级别?

1 个答案:

答案 0 :(得分:2)

解决方案最有可能如下:

  1. 锁定工作站
  2. 显示屏幕保护程序
  3. 对于第二步,以下内容非常重要:

    您的应用程序只是一个显示窗口的程序。因此,当工作站被锁定时,它试图显示的任何窗口都不会显示给用户 只有当您将程序register作为真正的屏幕保护程序时,才会显示您的窗口,将其设置为当前屏幕保护程序而不是启动它,例如使用SC_SCREENSAVE消息。