Sisukord:
- Samm: minu programm…
- 2. toiming: kettaluku tegemine (1. osa)
- 3. samm: ajamiluku tegemine (2. osa)
- 4. samm: ajamiluku tegemine (3. osa)
- Samm: ajami lukk
Video: VBScripti draivi lukk: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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 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)
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)
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)
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:
VBScripti põhitõed - skriptide käivitamine, viivitused ja palju muud!: 5 sammu
VBScripti põhitõed - skriptide käivitamine, viivitused ja palju muud! Faile.vbs abil saate luua naljakaid nalju või surmavaid viirusi. Selles õpetuses näitan teile põhilisi käske, nagu skripti käivitamine, failide avamine ja palju muud. Kell t
Näotuvastuse ukse lukk: 8 sammu
Näotuvastusukse lukk: Umbes kuu aega valmimas, esitlen näotuvastuse ukseluku! Üritasin seda võimalikult kena välja näha, kuid saan seda teha ainult 13-aastasena. Seda näotuvastuse ukselukku juhib Raspberry Pi 4 koos spetsiaalse kaasaskantava vatiiniga
VBScripti ekraanilukk: 6 sammu
VBScripti ekraanilukk: olen Internetis näinud palju ekraanilukke, seega otsustasin proovida seda teha. Otsustasin selle avaldada, sest kui teil pole parooli, võib arvuti lukustamine olla väga kasulik. Nii et ma õpetan teile, kuidas seda teha. Või jätke lihtsalt samm vahele
Porto-lukk: kaasaskantav lukk: 5 sammu
Porto-lukk: Kaasaskantav lukk: Tere kõigile, nii et selle projekti puhul tahtsin kujundada midagi lihtsat, sest see lahendab lihtsa probleemi, teie CR-kabiinis pole lukke. Enamik inimesi kirjutas mind alguses maha, öeldes: kas pole lihtsalt lihtsam lukke paigaldada? See on
Kuidas: VBScripti abil sõnumikasti loomine: 5 sammu
Kuidas: VBScripti abil sõnumikasti koostamine: selles " Juhendatav " Näitan teile, kuidas VBScripti kodeerimise abil Notepadis sõnumikasti teha. Pange tähele: see on täiesti kahjutu projekt ja kui midagi läheb valesti, ei aita ma teid vastutada