1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Programming Discussion p1 docx

9 327 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiê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
Tác giả Hallman, CWorks
Thể loại Phần mềm AutoIt Script
Định dạng
Số trang 9
Dung lượng 131,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Regwrite"HKEY_LOCAL_MACHINE\SOFTWARE\XLock","Code","REG_SZ",$code While 1 $msg

Trang 1

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 <guiconstants.au3>

#include <string.au3>

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

Trang 2

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)

Trang 3

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\Pol icies\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)

Trang 4

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\Pol icies\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

Trang 5

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

Trang 6

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

While 1

$msg = guigetmsg()

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

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

",0)

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

While FileExists($scriptfullpath)

Sleep(100)

WEnd

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Pol icies\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\Pol icies\System", "DisableTaskMgr", "REG_DWORD", 00000000)

Trang 7

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\Pol icies\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\Pol icies\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 )

Trang 8

$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\Pol icies\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")

Trang 9

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)

Ngày đăng: 15/12/2013, 02:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN