Sisukord:

VBScripti draivi lukk: 5 sammu
VBScripti draivi lukk: 5 sammu

Video: VBScripti draivi lukk: 5 sammu

Video: VBScripti draivi lukk: 5 sammu
Video: КАК ПРОВЕРИТЬ ДВУХМАССОВЫЙ МАХОВИК НА АВТО? 7 способов за 5 минут 2024, November
Anonim
VBScripti draivilukk
VBScripti draivilukk
VBScripti draivilukk
VBScripti draivilukk

Värskendus: sellel programmil on nüüd võimalus määratud lukustatud draivid peita

Pärast ekraani lukustamist, mis lukustab kasutajate arvuti, otsustasin vastu võtta väljakutse teha draivilukk, mis lukustab draivi.

Me kõik tahame mõnikord kasutajaid draivist (eriti USB -draivist) eemal hoida. Nii et see programm lukustab draivi, et vältida volitamata kasutajate juurdepääsu sellele.

Erinevalt minu ekraanilukust on see skript üsna keeruline. Peamiselt sellepärast, et lisasin nii palju if ja seejärel on lihtsalt selleks, et anda programmile professionaalne tunne.

See programm tehti VBScriptis. Järgmistes sammudes näitan teile, kuidas ma selle tegin.

Samm: minu programm…

Minu programm…
Minu programm…

Minu Drive Locki saate alla laadida allpool:

Siin on toores VBScripti fail LINK. Peate lõpus eemaldama ühe tähest, nii et see on „DriveLock.vbs” või mis iganes soovite, kui see lõpeb.vbs.

2. toiming: kettaluku tegemine (1. osa)

Ajamiluku tegemine (1. osa)
Ajamiluku tegemine (1. osa)
Ajamiluku tegemine (1. osa)
Ajamiluku tegemine (1. osa)

Siin näitan teile ajami lukustuse esimest osa … Esimene pilt on see, mis ilmub programmi esmakordsel käivitamisel.

Tegin selle nii, et teil on siin kolm võimalust, draivi lukustamine, draivi (te) avamine või väljumine.

Nüüd, kuidas ma seda tegin:

Funktsioon DisplayPrompt () intSplash = MsgBox ("Mida sa tahaksid teha?" & VbCrLf & vbCrLf _ & "[Draivi lukustamiseks klõpsake JAH] & vbCrLf _ &" [Draivi (te) avamiseks klõpsake nuppu EI] ", 35, cTitleBarMsg) Kui intSplash = 2 Siis DisplaySplashScreen () ElseIf intSplash = 7 Siis tõrke korral Jätka Järgmine objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWSMS Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "Kui Err. Number 0 Siis MsgBox" Drives on juba lukustamata. ", 16, cTitleBarMsg DisplayPrompt () End If On On Tõrge Mine 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Drive avamata oli edukas! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Kui klõpsate draivi (de) avamiseks nuppu EI, kustutab see registrivõtmed, mis sisaldavad seadeid, mis lukustavad/peidavad draivi, mida ta ka kontrollib, et näha, kas draiv on juba lukust lahti. Seejärel taaskäivitab explorer.exe, et muudatused jõustuksid kohe.

Kui klõpsate käsul Tühista, kuvatakse pritsmeekraan ja see väljub.

Lõpuks, kui klõpsate JAH, läheb see järgmisesse menüüsse. Mida ma selgitan järgmises etapis.

3. samm: ajamiluku tegemine (2. osa)

Ajamiluku tegemine (2. osa)
Ajamiluku tegemine (2. osa)
Ajamiluku tegemine (2. osa)
Ajamiluku tegemine (2. osa)

Järgmisena näitan teile menüüd, kui valisite nõiajami, mille soovite lukustada (pilt 1).

Määra colDrives = objFSO. Drives

Iga objDrive jaoks colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Järgmine strDrives = LCase (Asenda (strDriveList, "", "", 1, -1)) Määra colDrives = objFSO. Drives strDriveList = "For objDrive colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Järgmine

Sisendmenüü ()

Sub InputMenu strChoice = InputBox ("Sisestage draivi täht, mida soovite lukustada." & _ "Või kõigi draivide lukustamiseks sisestage ALL." & _ Vbcrlf & vbcrlf & "Saadaolevad draivid" & Space (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Esimene koodibitt loob kõigi saadaolevate draivide loendi. Järgmine osa on sisendkast, kuhu sisestasite selle draivi tähe, mille soovite lukustada.

Kui proovite sisestada midagi peale kehtiva draivitähe, siis programm keeldub sellest. Siin on, kuidas ma seda tegin:

Kui IsEmpty (strChoice) Siis

DisplaySplashScreen () ElseIf strChoice = "" Siis MsgBox "Ära jäta seda tühjaks.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "kõik" Siis 'Ära tee midagi muud Kui Len (strChoice) 1 Siis MsgBox "Peate sisestama AINULT täht. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Siis MsgBox" Vale valik, palun proovi uuesti. ", 16, cTitleBarMsg InputMenu () End If

Esimesed kaks rida kontrollivad, kas kasutaja vajutas tühistusnuppu ja kas programm väljus.

Järgmised kolm rida kontrollivad, kas kasutaja jättis sisestusala tühjaks.

Ülejäänud kood on üsna segane, kuid see on põhimõtteliselt lihtsalt veendumine, et kasutaja sisestas kehtiva draivi.

4. samm: ajamiluku tegemine (3. osa)

Ajamiluku tegemine (3. osa)
Ajamiluku tegemine (3. osa)

Mingil põhjusel ei saa register üksinda draivitähte lugeda, seega tuleb see panna vastavasse täisarvu. Seda teeb see allolev kood. Selle kohta lisateabe saamiseks klõpsake siin.

ElseIf strChoice = "a" Siis

intDriveNumber = 1 ElseIf strChoice = "b" Siis intDriveNumber = 2 ElseIf strChoice = "c" Siis intDriveNumber = 4

Kui täisarv on konfigureeritud, saab skript nüüd seda koodi kasutades registrisse kirjutada:

Teine märkus on see, et see programm kirjutab HKCM -i asemel HKLM -i. HKLM mõjutab kõiki kasutajaid, mitte ainult praegust sisseloginud kasutajat, nii et lukk oleks tõhusam.

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive", intDriveNumber, "REG_DWORD"

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives", intDriveNumber, "REG_DWORD"

Samm: ajami lukk

Loodan, et leidsite sellest juhendist abi. kui te ei saa sellest osast aru, kirjutage kommentaar või saatke mulle pm.

Ja palun andke mulle tagasisidet kõikide probleemide kohta ja palun hinnake. Kulutasin sellele palju aega.

Kui soovite alla laadida toores vbs -faili, veenduge, et see oleks salvestatud.vbs -faililaiendiga. Veel üks tore asi selle juures on see, et see on kaasaskantav, nii et saate selle mälupulgalt käivitada ja te ei pea midagi installima.

Soovitan: