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<guiconstants.au3>
#include<file.au3>
#include<misc.au3>
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<guiconstants.au3>
#include<file.au3>
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.
|
|
|