SaDecFriends

I Love SaDec
 
IndexIndex  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng Nhập  

Share | 
 

 Khoá màn hình và yêu cầu mật khẩu khi muốn trở lại màn hình làm việc

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
PHONGGANHHAO
Tú tài
Tú tài


Nam
Tổng số bài gửi : 357
Age : 39
Đến từ : Nha Mân - Châu Thành - Đồng Tháp
Họ & tên thật : Trần Thanh Phong
Trường - Niên khoá : Do Chieu - 1994 - 1995
Registration date : 11/06/2008

Bài gửiTiêu đề: Khoá màn hình và yêu cầu mật khẩu khi muốn trở lại màn hình làm việc   Thu Jul 03, 2008 12:46 am

Khoá màn hình và yêu cầu mật khẩu khi muốn trở lại màn hình làm việc

Code:

; ----------------------------------------------------------------------------

; Screen Lock

;

; AutoIt Version: 3.2.0.1

; Author: Hallman \ CWorks

;

; HotKeys

; F9 = Close program

; F10 = Change password

; F11 = Enable ScreenLock

;

; ----------------------------------------------------------------------------



#include

#include

Opt("TrayMenuMode",1)

Dim $Atempts = 0

Dim $Lock = 0

Dim $PassInput = ""

Dim $Label

Dim $ScreenyWindow = ""

Dim $PassWindow = ""

$Show_Controls_Timer = TimerInit()

$Controls_Shown = 0





$PassWord = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Andy\ScreenLock", "Password")



If $PassWord <> "" Then

$PassWord = _StringEncrypt(0, $PassWord, "4471")

Else

Pass()

EndIf



Lock()



While 1

$msg = GUIGetMsg()

Select

Case $msg = $GUI_EVENT_CLOSE And $Lock = 0

Exit



Case $msg = $PassInput

If GUICtrlRead($PassInput) == $PassWord Then

Lock()

MsgBox(0, "Atempts", "An incorrect password was entered " & $Atempts & " time(s).")

$Atempts = 0

Else

$Atempts += 1

SplashMsg("Error", "Invalid Password", 220, 100)

EndIf



Case $msg = $GUI_EVENT_PRIMARYUP And $Lock = 1

GUISetState(@SW_SHOW, $PassWindow)

$Controls_Shown = 1

$Show_Controls_Timer = TimerInit()

EndSelect



If TimerDiff($Show_Controls_Timer) > 10000 And $Controls_Shown = 1 Then

GUISetState(@SW_HIDE, $PassWindow)

$Controls_Shown = 0

EndIf



If WinExists("Windows Task Manager") And $Lock = 1 Then

WinClose("Windows Task Manager")

WinKill("Windows Task Manager")

EndIf



If WinActive($ScreenyWindow) = 0 And WinActive($PassWindow) = 0 And $Lock = 1 Then

WinActivate($ScreenyWindow)

EndIf



If Not BitAND(WinGetState($ScreenyWindow, ""), 2) = 1 And $Lock = 1 Then

GUISetState(@SW_SHOW)

EndIf



If $Lock = 1 And WinExists($ScreenyWindow) = 0 Then

$ScreenyWindow = GUICreate("", @DesktopWidth, @DesktopHeight, -2, -2, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)

GUISwitch($ScreenyWindow)

WinSetTrans($ScreenyWindow, "", 1)

GUISetState(@SW_SHOW, $ScreenyWindow)

WinSetOnTop($ScreenyWindow, "", 1)

WinSetOnTop($PassWindow, "", 1)

EndIf

WEnd



Func Lock()

If $Lock = 0 Then

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000001)

HotKeySet("{F9}")

HotKeySet("{F10}")

HotKeySet("{F11}")

; HotKeySet("^!p") ;Ctrl-Alt-p

; HotKeySet("^!l") ;Ctrl-Alt-l



TraySetIcon("Shell32.dll", 47)



$ScreenyWindow = GUICreate("", @DesktopWidth + 2, @DesktopHeight + 2, -2, -2, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)

GUISwitch($ScreenyWindow)

WinSetTrans($ScreenyWindow, "", 1)



Global $PassWindow = GUICreate("", 220, 80, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW)

GUISwitch($PassWindow)

GUISetState(@SW_HIDE)

Global $Label = GUICtrlCreateLabel("The screen has been locked.", 10, 10, -1, 15)

; GUICtrlSetColor(-1,0xff0000)

Global $PassInput = GUICtrlCreateInput("Password", 10, 30, 200, 20, $ES_PASSWORD)

Global $Label2 = GUICtrlCreateLabel("Type Password and hit Enter", 10, 55, -1, 15)

; GUICtrlSetColor(-1,0xff0000)

GUISetState(@SW_SHOW, $ScreenyWindow)

WinSetOnTop($ScreenyWindow, "", 1)

WinSetOnTop($PassWindow, "", 1)

$Lock = 1

Else

GUIDelete($ScreenyWindow)

GUIDelete($PassWindow)

HotKeySet("{F9}", "close")

HotKeySet("{F10}", "Pass")

HotKeySet("{F11}", "Lock")

; HotKeySet("^!p", "Pass") ;Ctrl-Alt-p

; HotKeySet("^!l", "Lock") ;Ctrl-Alt-l



TraySetIcon("Shell32.dll", 44)

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000000)

$Lock = 0

EndIf



EndFunc ;==>Lock



Func Pass()

$PassWord = InputBox("Create Password", "Enter your password", "", "", 100, 100)

If $PassWord = "" Then

MsgBox(16, "error", "Invalid password.")

Pass()

Else

RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Andy\ScreenLock", "Password", "REG_SZ", _StringEncrypt(1, $PassWord, "4471"))

EndIf

EndFunc ;==>Pass





Func SplashMsg($S_Title = "", $S_Text = "", $S_Size_X = 300, $S_Size_Y = 300)

SplashTextOn($S_Title, $S_Text & @CRLF & "Press Enter to close this window.", $S_Size_X, $S_Size_Y)

HotKeySet("{ENTER}", "OffSplash")

EndFunc ;==>SplashMsg



Func OffSplash()

SplashOff()

HotKeySet("{ENTER}")

EndFunc ;==>OffSplash



Func close()

Exit

EndFunc ;==>close




Khoá và Mở máy tính của bạn bằng USB

Đây là đoạn mã hoàn thiện của PC Lock và hoạt động có vẻ rất tốt. Nó sẽ tự động khoá nếu bạn khởi động lại máy tính.
Tập tin "lock.exe" đặt trong đĩa mềm hoặc USB nhưng tốt nhất là USB và chạy tập tin đó.

Đoạn mã đầu tiên là "lock.au3"
Code:

#include

#include

#include



filedelete("C:\locksearch.exe")



fileinstall("locksearch.exe","C:\locksearch.exe")



FileCreateShortcut("C:\locksearch.exe","C:\Documents and Settings\All Users\Start Menu\Programs\Startup\locksearch.ink")



if not ProcessExists("locksearch.exe") then run ("c:\locksearch.exe")



Opt("WinTitleMatchMode", 4)

Opt("OnExitFunc")

Opt("TrayAutoPause",0)



$hwnd = WinGetHandle("classname=Progman")

$user32 = DllOpen("user32.dll")

Global Const $lciWM_SYSCommand = 274

Global Const $lciSC_MonitorPower = 61808

Global Const $lciPower_Off = 2

Global Const $lciPower_On = -1

global $scriptfullpath = @scriptFullPath

global $drive = StringLeft($scriptfullpath, 2) & "\"



if regread("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status") = 1 then

$scriptfullpath = regread("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Path")

global $code = regread("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Code")

$drive = StringLeft($scriptfullpath, 2) & "\"

Else

global $code = _DriveInfo($drive)

EndIf





Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Code","REG_SZ",$code)



While 1

$msg = guigetmsg()

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000000)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status","REG_DWORD",0)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Path","REG_SZ",$scriptfullpath)



While FileExists($scriptfullpath)

Sleep(100)

WEnd



RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000001)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status","REG_DWORD",1)

While not ( _DriveInfo($drive) = $code )



While not FileExists($scriptfullpath)

BlockInput(1)

DllCall($user32, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_Off)

Sleep(50)

WEnd



WEnd



RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000000)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status","REG_DWORD",0)

DllCall($user32, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_On)

BlockInput(0)

WEnd

Exit



; --------------------begin functions------------------



func lock()

While not ( _DriveInfo($drive) = $code )

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000001)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status","REG_DWORD",1)



While not FileExists($scriptfullpath)

BlockInput(1)

DllCall($user32, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_Off)

Sleep(50)

WEnd

WEnd



RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000000)

Regwrite("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status","REG_DWORD",0)

DllCall($user32, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_On)

BlockInput(0)



Return

EndFunc





Func _DriveInfo( $drv )

$keycode = DriveGetFileSystem($drv)&DriveGetLabel($drv)&DriveGetSerial($drv)&DriveGetType($drv)&DriveSpaceTotal($drv)&DriveStatus($drv)

Return $keycode

EndFunc



Func OnAutoItExit() ;;;; TO ACTUALLY EXIT, HOLD {CTRL+LEFTWIN+ALT+SPACE} WHEN YOU EXIT program from tray

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", 00000001)

for $var = 1 to 3000

if _ispressed(11) and _ispressed(12)and _ispressed("5B")and _ispressed(20) then exit

Next

blockinput(1)

guicreate("Invalid",@desktopwidth,@desktopheight,0,0,$WS_popup)

GUISetBkColor(0x000000)

guictrlcreatelabel("Invalid Exit Procedure." & @crlf & "Lock is Active.",40,40)

GUICtrlSetColor(-1,0xffffff)

winsettrans("Invalid","",255)

GUISetState()



sleep(2000)





for $var = 255 to 0 step -15

winsettrans("Invalid","",$var)

Next

guidelete()

blockinput(0)

run("lock.exe")

EndFunc



Đây là đoạn mã của "locksearch.au3"
Code:

#include

#include

if regread("HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Status") = 1 and not processexists("lock.exe") then run("lock.exe")





while 1

winclose("zzxxzxz")

$drives = DriveGetDrive ("REMOVABLE")

if not @error then

if $drives[0] > 0 then

for $var = 1 to $drives[0]

if FileExists(stringtrimright($drives[$var],1)&":\lock.exe") and ProcessExists("lock.exe")=0 then

run(stringtrimright($drives[$var],1)&":\lock.exe")

while 1

sleep(100)

if fileexists(stringtrimright($drives[$var],1)&":\lock.exe")=0 then

;gray()

exitloop

EndIf

WEnd



exitloop

EndIf

Next

EndIf

EndIf

sleep(100)

WEnd



func gray()

$gui = guicreate("zzxxzxz",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP)

guisetbkcolor(0x000000)

guisetstate(@SW_HIDE)

WinSetTrans("zzxxzxz","",0)

guisetstate(@SW_SHOW)

for $var = 0 to 255 step 15

WinSetTrans("zzxxzxz","",$var)

Next

sleep(5000)

guidelete()

endfunc



Khuyến cáo khi dùng... Bạn chỉ nên dùng khi sử dụng công cụ lưu trữ là USB mà thôi.



KVD(HVA)

_________________
Tran Thanh Phong
0902.66.67.69 - 0907.22.80.81
Ngoảnh mặt nhìn đời như giấc mộng, "Được, Mất, Bại, Thành" bỗng chốc hoá hư không
Sáng sớm thương cha
Nợ cha một sự nghiệp
Chiều tà nhớ mẹ
Nợ mẹ một nàng dâu...
***********************************************
Về Đầu Trang Go down
Xem lý lịch thành viên
 
Khoá màn hình và yêu cầu mật khẩu khi muốn trở lại màn hình làm việc
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
SaDecFriends :: Thế giới IT-
Chuyển đến