Turinys:

„VBScript“disko užraktas: 5 žingsniai
„VBScript“disko užraktas: 5 žingsniai

Video: „VBScript“disko užraktas: 5 žingsniai

Video: „VBScript“disko užraktas: 5 žingsniai
Video: vbscript TO MAKE YOUR KEYBOARD CAPS LOCK LIGHT DO DISCO DANCE | SIMPLECODING-#1 2024, Liepa
Anonim
„VBScript Drive Lock“
„VBScript Drive Lock“
„VBScript“disko užraktas
„VBScript“disko užraktas

Atnaujinimas: ši programa dabar turi galimybę paslėpti nurodytus užrakintus diskus

Sukūręs ekrano užraktą, kuris užrakina vartotojų kompiuterį, nusprendžiau priimti iššūkį sukurti disko užraktą, kuris užrakina diską.

Mes visi kartais norime, kad vartotojai nepatektų į diską (ypač USB diską). Taigi ši programa užrakins diską, kad neteisėti vartotojai negalėtų prie jo prieiti.

Skirtingai nuo mano ekrano užrakto, šis scenarijus yra gana sudėtingas. Daugiausia todėl, kad pridėjau tiek daug „if“ir „tik“, kad galėčiau profesionaliai jaustis.

Ši programa buvo sukurta naudojant „VBScript“. Kituose žingsniuose parodysiu, kaip tai padariau.

1 žingsnis: Mano programa…

Mano programa…
Mano programa…

Mano disko užraktą galite atsisiųsti žemiau:

Čia yra neapdorotas VBScript failas LINK. Pabaigoje turėsite pašalinti vieną iš „s“, kad jis būtų „DriveLock.vbs“arba tai, ko norite, jei jis baigiasi.vbs.

2 veiksmas: sukurkite disko užraktą (1 dalis)

Kaip užrakinti diską (1 dalis)
Kaip užrakinti diską (1 dalis)
Kaip užrakinti diską (1 dalis)
Kaip užrakinti diską (1 dalis)

Čia aš jums parodysiu pirmąją disko užrakto dalį … Pirmoji nuotrauka pasirodo pirmą kartą paleidus programą.

Aš tai padariau, kad čia būtų trys variantai: užrakinti diską, atrakinti diską (-us) arba išeiti.

Dabar štai kaip aš tai padariau:

Funkcija DisplayPrompt () intSplash = MsgBox ("Ką norėtumėte daryti?" & VbCrLf & vbCrLf _ & "[Spustelėkite TAIP, kad užrakintumėte diską]" & vbCrLf _ & "[Spustelėkite NE, kad atrakintumėte diską (-us)] ", 35, cTitleBarMsg) Jei intSplash = 2 Tada DisplaySplashScreen () ElseIf intSplash = 7 Tada į klaidą Tęsti Kitas objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWSMS Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "Jei Err. Number 0 Tada MsgBox" Diskas jau atrakintas. ", 16, cTitleBarMsg DisplayPrompt () Pabaiga, jei įjungta klaida Goto 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Drive atrakinta buvo sėkminga! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Jei spustelėsite NE, kad atrakintumėte diską (-us), jis ištrins registro raktus, kuriuose yra parametrai, kurie užrakina/slepia diską, kurį jis taip pat patikrina, ar diskas jau yra atrakintas. Tada jis iš naujo paleidžia explorer.exe, kad pakeitimai įsigaliotų nedelsiant.

Jei spustelėsite „Atšaukti“, jis parodys pradinį ekraną ir išeis.

Galiausiai, jei spustelėsite TAIP, jis pereis į kitą meniu. Kurį paaiškinsiu kitame žingsnyje.

3 veiksmas: sukurkite disko užraktą (2 dalis)

Kaip užrakinti diską (2 dalis)
Kaip užrakinti diską (2 dalis)
Kaip užrakinti diską (2 dalis)
Kaip užrakinti diską (2 dalis)

Toliau parodysiu meniu, kuriame pasirinkote norimą užrakinti diską (1 pav.).

Nustatykite colDrives = objFSO. Drives

Kiekvienam objDrive colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Kitas strDrives = LCase (Replace (strDriveList, "", "", 1, -1)) Nustatykite colDrives = objFSO. Drives strDriveList = "For objDrive colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Kitas

Įvesties meniu ()

Sub InputMenu strChoice = InputBox ("Įveskite disko, kurį norite užrakinti, raidę." & _ "Arba įveskite ALL, kad užrakintumėte visus diskus." & _ Vbcrlf & vbcrlf & "Galimi diskai" & Space (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Pirmasis kodo bitas sukuria visų galimų diskų sąrašą. Kita dalis yra įvesties dėžutė, kurioje įvedėte disko, kurį norite užrakinti, raidę.

Jei bandysite įvesti bet ką, išskyrus galiojančią disko raidę, programa atsisakys. Štai kaip aš tai padariau:

Jei IsEmpty (strChoice) Tada

DisplaySplashScreen () ElseIf strChoice = "" Tada MsgBox "Nepalikite šio laukelio tuščio.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Tada 'Nieko nedaryti Elif Len (strChoice) 1 Tada MsgBox "Jūs turite įvesti TIK raidė. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Tada MsgBox" Netinkamas pasirinkimas, bandykite dar kartą. ", 16, cTitleBarMsg InputMenu () Pabaiga Jei

Pirmosios dvi eilutės patikrina, ar vartotojas paspaudė atšaukimo mygtuką ir ar padarė programą.

Kitos trys eilutės tikrina, ar vartotojas įvesties sritį paliko tuščią.

Likusi kodo dalis yra gana paini, tačiau iš esmės tai tik įsitikinimas, kad vartotojas įvedė tinkamą diską.

4 veiksmas: sukurkite disko užraktą (3 dalis)

Pavaros užrakto padarymas (3 dalis)
Pavaros užrakto padarymas (3 dalis)

Dėl tam tikrų priežasčių registras negali vien tik nuskaityti disko raidės, todėl jis turi būti įrašytas į atitinkamą sveikąjį skaičių. Tai daro šis toliau pateiktas kodas. Norėdami gauti daugiau informacijos apie tai, spustelėkite čia.

ElseIf strChoice = "a" Tada

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

Kai sukonfigūruotas sveikasis skaičius, scenarijus dabar gali įrašyti į registrą naudodami šį kodą:

Kita pastaba yra ta, kad ši programa rašo HKLM, o ne HKCU. HKLM veikia visus vartotojus, o ne tik dabartinį prisijungusį vartotoją, kad užraktas būtų efektyvesnis.

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"

5 veiksmas: disko užraktas

Tikiuosi, kad ši pamoka jums buvo naudinga. Jei dalies nesuprantate, parašykite komentarą arba parašykite man pm.

Ir prašau duoti man atsiliepimų apie bet kokias problemas ir įvertinkite. Aš tam skyriau daug laiko.

Jei norite atsisiųsti neapdorotą vbs failą, įsitikinkite, kad jis išsaugotas naudojant.vbs failo plėtinį. Kitas malonus dalykas yra tai, kad jis yra nešiojamas, todėl galite paleisti jį iš „flash drive“ir jums nieko nereikia įdiegti.

Rekomenduojamas: