SaDecFriends
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
SaDecFriends

I Love SaDec
 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng Nhập  

 

 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

Go down 
Tác giảThông điệp
PHONGGANHHAO
Tú tài
Tú tài
PHONGGANHHAO


Nam
Tổng số bài gửi : 357
Age : 47
Đế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

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 Empty
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   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 EmptyThu 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)
Về Đầu Trang Go down
 
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
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Khoảng cách xa nhất trên đời là gì...?
» Một nữ GS Việt kiều đoạt giải thưởng khoa học Mỹ

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