MFC实现Windows锁屏
編輯
Windows鎖屏
????????鎖屏軟件相信大家都見過,以前我去網吧上網的時候也用過這個功能,當你有事情需要立即離開,而又不想讓別人碰你的電腦,就需要用掃鎖屏軟件啦,鎖住屏幕之后等回來的時候再輸入密碼解鎖。
? ? ????同樣的,今天給大家帶來的是一個鎖屏軟件的實現,不過我們的軟件比起網吧的鎖屏功能可就炫酷得多啦。首先我們打開界面第一個看到的就是下面圖片中顯示的這樣。軟件有三個對話框和兩個按鈕,前面兩個對話框是用來輸入鎖屏密碼以及確認密碼的。第三個對話框則是鎖屏之后輸入密碼解鎖的地方。當我們輸入密碼,并且再次輸入確認密碼之后,電腦就會實現鎖屏的效果啦。同時鼠標的箭頭也無法跳出這個軟件大小的范圍了。
編輯
Windows鎖屏軟件
????????當我們按照步驟把鎖屏密碼輸入并確認之后,輸入密碼框就都被隱藏了,同時任務欄也會被隱藏,界面上顯示系統已安全鎖定,可以離開啦~~~
編輯
鎖屏中
當我們把鎖屏的密碼輸入解鎖密碼框之后,點擊系統解鎖,就會退出鎖屏頁面啦~~~
下面我們來看代碼:
void CSystemLockDemoDlg::OnBnClickedSetlock()
{
// TODO:? 在此添加控件通知處理程序代碼
if (user == 0)
{
GetDlgItemText(IDC_SET, PASSWORD1);
GetDlgItemText(IDC_SETAGAIN, PASSWORD2);
if (PASSWORD1 != PASSWORD2)
{
SetDlgItemText(IDC_MESSAGE, "系統鎖定密碼兩次不一致\n請重新輸入鎖定密碼.");
SetDlgItemText(IDC_SET, "");
SetDlgItemText(IDC_SETAGAIN, "");
GetDlgItem(IDC_SET)->SetFocus();
return;
}
if (PASSWORD1 == "")
{
SetDlgItemText(IDC_MESSAGE, "系統鎖定密碼不能為空\n處于安全考慮請重新設置!");
GetDlgItem(IDC_SET)->SetFocus();
return;
}
SetDlgItemText(IDC_MESSAGE, "系統已安全鎖定中......\n可以安全離開...");
SendDlgItemMessage(IDC_SET, EM_SETREADONLY, 1);
SendDlgItemMessage(IDC_SETAGAIN, EM_SETREADONLY, 1);
SendDlgItemMessage(IDC_UNLOCK, EM_SETREADONLY, 0);
SetDlgItemText(ID_SETLOCK, "系統解鎖");
SetDlgItemText(IDC_SET, "");
SetDlgItemText(IDC_SETAGAIN, "");
GetDlgItem(ID_QUIT)->EnableWindow(false);
user = 1;
CRect rct;
GetWindowRect(rct);
ClipCursor(rct);
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, true, 0, SPIF_UPDATEINIFILE);
::ShowWindow(::FindWindow("Shell_TrayWnd", NULL), SW_HIDE);
GetDlgItem(IDC_UNLOCK)->SetFocus();
return;
}
if (user == 1)
{
GetDlgItemText(IDC_UNLOCK, PASSWORD3);
if (PASSWORD1 != PASSWORD3)
{
SetDlgItemText(IDC_MESSAGE, "系統解鎖密碼錯誤\n你無權使用此系統!");
SetDlgItemText(IDC_UNLOCK, "");
GetDlgItem(IDC_UNLOCK)->SetFocus();
return;
}
SetDlgItemText(IDC_MESSAGE, "已經成功解鎖操作......");
SendDlgItemMessage(IDC_SET, EM_SETREADONLY, 0);
SendDlgItemMessage(IDC_SETAGAIN, EM_SETREADONLY, 0);
SendDlgItemMessage(IDC_UNLOCK, EM_SETREADONLY, 1);
SetDlgItemText(ID_SETLOCK, "系統加鎖");
SetDlgItemText(IDC_UNLOCK, "");
GetDlgItem(ID_QUIT)->EnableWindow(true);
user = 0;
ClipCursor(NULL);
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, false, 0, SPIF_UPDATEINIFILE);
::ShowWindow(::FindWindow("Shell_TrayWnd", NULL), SW_SHOW);
}
}
????????由于篇幅所限,就不把全部的代碼貼出來啦,大家可以點擊左下角的閱讀原文,去群里下載哦!!!
關注轉發點個贊唄
總結
以上是生活随笔為你收集整理的MFC实现Windows锁屏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为手机官网(华为手机官网正品旗舰店)
- 下一篇: Windows 动态链接库 DLL 浅析