在一些C#的Windows应用程序中,需要在用户暂时离开时对计算机进行锁屏,一种简单的方案思路。设置该计算机屏幕保护为“在恢复时使用密码保护”,在应用程序中调用系统的屏幕保护程序即可。
优点:实现简单实用。
缺点:1、用户计算机需要提前设置使用屏幕保护并设置为““在恢复时使用密码保护”模式。
2、计算机的用户必需为本机的系统用户设置有一个较安全的登录密码。
对于缺点1可考虑在应用程序启动中自动检测设置(实际上是对系统注册表的一些操作)。对于缺点2,我想在运行有关键任务的计算机是必需的,否则也不用进行锁屏操作了。
实现:建立启动窗体TEST.CS:
文章出处: http://www.diybl.com/course/4_webprogram/asp.net/netjs/2008913/142591.html
优点:实现简单实用。
缺点:1、用户计算机需要提前设置使用屏幕保护并设置为““在恢复时使用密码保护”模式。
2、计算机的用户必需为本机的系统用户设置有一个较安全的登录密码。
对于缺点1可考虑在应用程序启动中自动检测设置(实际上是对系统注册表的一些操作)。对于缺点2,我想在运行有关键任务的计算机是必需的,否则也不用进行锁屏操作了。
实现:建立启动窗体TEST.CS:
文章出处: http://www.diybl.com/course/4_webprogram/asp.net/netjs/2008913/142591.html
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.Runtime.InteropServices;
- namespace TTMISAdmin
- {
- public partial class TEST : Form
- {
- public TEST()
- {
- InitializeComponent();
- }
- [DllImport("user32.dll")]
- public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
- public const int WM_SYSCOMMAND = 0x0112;
- public const int SC_SCREENSAVE = 0xF140;
- private void button1_Click(object sender, EventArgs e)
- {
- //启动屏幕保护程序
- SendMessage(this.Handle,WM_SYSCOMMAND,SC_SCREENSAVE,0);
- }
- }
- }