資源簡介
超時鎖屏功能,前提:
系統為WinForm實現,中有一個主窗體;
1、當用戶鍵鼠無操作超過10分鐘,則鎖定該系統(當前項目);
2、鎖屏后彈出用戶登錄界面,登陸界面兩個輸入框,用戶名、密碼(均為simed);
3、鎖屏后用戶無法對系統其他頁面做任何操作,僅能在登錄界面錄入用戶名、密碼,實現登錄;
4、登陸成功后,關閉登錄界面,系統恢復可錄入狀態;
5、主界面為Winform,一個Richtextbox,能夠演示鎖屏后無法操作,登錄后可繼續操作即可;
6、登錄失敗則提示“用戶名或密碼錯誤”,繼續停留在登陸界面,錄入的用戶名保留,密碼框清空,密碼框獲得焦點;
目前設置30秒就超時。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Runtime.InteropServices;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?LockScreenCS
{
????public?partial?class?FmLogin?:?Form
????{
????????public?FmLogin()
????????{
????????????InitializeComponent();
????????}
????????public?FmLogin(bool?bl)?//超時登錄走這個
????????{
????????????InitializeComponent();
????????????isTimer?=?bl;
????????}
????????/***************獲取鼠標鍵盤未操作時間***************************/
????????[StructLayout(LayoutKind.Sequential)]
????????public?struct?LASTINPUTINFO
????????{
????????????[MarshalAs(UnmanagedType.U4)]
????????????public?int?cbSize;
????????????[MarshalAs(UnmanagedType.U4)]
????????????public?uint?dwTime;
????????}
????????[DllImport(“user32.dll“)]
????????public?static?extern?bool?GetLastInputInfo(ref????LASTINPUTINFO?plii);
????????public?long?getIdleTick()
????????{
????????????LASTINPUTINFO?vLastInputInfo?=?new?LASTINPUTINFO();
????????????vLastInputInfo.cbSize?=?Marshal.SizeOf(vLastInputInfo);
????????????if?(!GetLastInputInfo(ref????vLastInputInfo))?return?0;
????????????return?Environment.TickCount?-?(long)vLastInputInfo.dwTime;
????????}
????????/***************獲取鼠標鍵盤未操作時間***************************/
????????public?static?bool?isTimer?=?false;//判斷是否是超時了
????????private?void?Login_Load(object?sender?EventArgs?e)
????????{
????????????this.timer1.Interval?=?10000;//定時器
????????????this.timer1.Enabled?=?true;//啟動
????????}
????????private?void?btnLogin_Click(object?sender?EventArgs?e)
????????{
????????????if?(string.IsNullOrEmpty(txtUser.Text.Trim())||string.IsNullOrEmpty(txtPwd.Text.Trim()))
????????????{
????????????????MessageBox.Show(“用戶名或密碼不能為空!“);
????????????????txtUser.Focus();
????????????}
????????????else
????????????{
????????????????if?(txtUser.Text.Trim()?==?“simed“?&&?txtPwd.Text.Trim()?==?“simed“)
????????????????{
????????????????????this.Hide();
????????????????????if?(isTimer?==?false)//正常登錄
????????????????????{
????????????????????????FmMain?fm?=?new?FmMain();?//跳轉
????????????????????????fm.Show();
????????????????????}
????????????????}
????????????????else
????????????????{
????????????????????MessageBox.Show(“用戶名或密碼錯誤!“);
????????????????????txtPwd.Text?=?““;
????????????????????txtPwd.Focus();//獲得焦點
????????????????}
????????????}
????????}
????????private?void?btnCancel_Click(object?sender?EventArgs?e)
????????{
????????????txtUser.Text?=?““;
????????????txtPwd.Text?=?““;
????????}
????????///?
????????///?keyDown判斷是否是enter鍵,進行登錄事件
????????///?
????????///?
????????///?
????????private?void?txtPwd_KeyDown(object?sender?KeyEventArgs?e)
????????{
????????????if?(e.KeyCode?==?Keys.Return)//enter鍵?==(char)13也可
????????????{
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????187??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\App.config
?????文件??????13824??2013-07-17?16:56??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.exe
?????文件????????187??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.exe.config
?????文件??????38400??2013-07-17?16:56??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.pdb
?????文件??????22984??2013-07-18?09:14??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.vshost.exe
?????文件????????187??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.vshost.exe.config
?????文件????????490??2012-06-06?02:06??LockScreenCSPro22\LockScreenCS\bin\Debug\LockScreenCS.vshost.exe.manifest
?????文件???????5371??2013-07-17?16:55??LockScreenCSPro22\LockScreenCS\FmLogin.cs
?????文件???????5439??2013-07-17?15:48??LockScreenCSPro22\LockScreenCS\FmLogin.Designer.cs
?????文件???????6011??2013-07-17?10:57??LockScreenCSPro22\LockScreenCS\FmLogin.resx
?????文件????????530??2013-07-17?10:57??LockScreenCSPro22\LockScreenCS\FmMain.cs
?????文件???????2235??2013-07-17?10:57??LockScreenCSPro22\LockScreenCS\FmMain.Designer.cs
?????文件???????5817??2013-07-17?10:57??LockScreenCSPro22\LockScreenCS\FmMain.resx
?????文件???????4446??2013-07-17?15:48??LockScreenCSPro22\LockScreenCS\LockScreenCS.csproj
?????文件???????1308??2013-07-16?13:49??LockScreenCSPro22\LockScreenCS\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6931??2013-07-17?15:48??LockScreenCSPro22\LockScreenCS\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????703??2013-07-18?09:14??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.csproj.FileListAbsolute.txt
?????文件???????1098??2013-07-17?16:47??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.csproj.GenerateResource.Cache
?????文件??????13824??2013-07-17?16:56??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.exe
?????文件????????180??2013-07-17?16:47??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.FmLogin.resources
?????文件????????180??2013-07-17?16:47??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.FmMain.resources
?????文件??????38400??2013-07-17?16:56??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.pdb
?????文件????????180??2013-07-17?16:47??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.Properties.Resources.resources
?????文件????????180??2013-07-17?16:47??LockScreenCSPro22\LockScreenCS\obj\Debug\LockScreenCS.TestTimer.resources
?????文件??????????0??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件????????623??2013-07-17?15:48??LockScreenCSPro22\LockScreenCS\Program.cs
?????文件???????1362??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\Properties\AssemblyInfo.cs
?????文件???????2876??2013-07-16?12:50??LockScreenCSPro22\LockScreenCS\Properties\Resources.Designer.cs
............此處省略170個文件信息
評論
共有 條評論