Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Yangilash: Endi bu dastur belgilangan qulflangan disklarni yashirish imkoniyatiga ega
Foydalanuvchilarning kompyuterini qulflaydigan ekran qulfini o'rnatganimdan so'ng, men diskni qulflaydigan disk qulfini yasashga qaror qildim.
Biz hammamiz ba'zan foydalanuvchilarni diskdan (ayniqsa, usb -disk) saqlamoqchimiz. Shunday qilib, bu dastur ruxsatsiz foydalanuvchilarning unga kirishiga yo'l qo'ymaslik uchun diskni qulflaydi.
Mening ekran qulfimdan farqli o'laroq, bu skript juda murakkab. Asosan, agar men dasturga professional his -tuyg'ularni qo'shish uchun ko'p narsalarni qo'shgan bo'lsam.
Bu dastur VBScript -da qilingan, keyingi qadamlarda men sizga buni qanday qilganimni ko'rsataman.
1 -qadam: Mening dasturim …
Siz mening Drive Lock -ni quyida yuklab olishingiz mumkin:
Bu erda VBScript xom ashyosi LINK. Siz oxirida "s" dan birini olib tashlashingiz kerak bo'ladi, shuning uchun bu "DriveLock.vbs" yoki.vbs bilan tugaguncha xohlagan narsangiz.
2 -qadam: Disk qulfini o'rnatish (1 -qism)
Bu erda men sizga disk qulfining birinchi qismini ko'rsataman … Birinchi rasm - bu dasturni birinchi ishga tushirganingizda paydo bo'ladigan rasm.
Men shunday qildimki, bu erda sizda uchta variant bor: diskni qulflash, haydovchilarni qulfini ochish yoki chiqish.
Mana, men buni qanday qildim:
DisplayPrompt () intSplash = MsgBox funktsiyasi ("Siz nima qilmoqchisiz?" & VbCrLf & vbCrLf _ & "[Diskni qulflash uchun YES tugmasini bosing]" & vbCrLf _ & "[Disk (lar) ning qulfini ochish uchun YO'Q tugmasini bosing] ", 35, cTitleBarMsg) Agar intSplash = 2 bo'lsa, DisplaySplashScreen () ElseIf intSplash = 7, keyin xato davom etsa Keyingi objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive. RegRegHLHLHL "objWshLash / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "Err. Number 0 bo'lsa, MsgBox" Drayvlar allaqachon qulfdan chiqarilgan. ", 16, cTitleBarMsg DisplayPrompt () Goto 0 xato bo'lsa objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Disk qulfdan chiqarildi, muvaffaqiyatga erishildi! ", 64, cTitleBarMsg DisplayPrompt () End End Function
Agar siz haydovchini qulfini ochish uchun "YO'Q" tugmasini bosgan bo'lsangiz, u haydovchini qulflaydigan/yashiradigan sozlamalarni o'z ichiga olgan ro'yxatga olish kitobi kalitlarini o'chiradi. Keyin explorer.exe qayta ishga tushiriladi, shunda o'zgarishlar darhol kuchga kiradi.
Agar siz "Bekor qilish" tugmasini bosgan bo'lsangiz, u ekranni ochadi va keyin chiqadi.
Nihoyat, agar siz "YES" ni bosgan bo'lsangiz, u keyingi menyuga o'tadi. Buni keyingi bosqichda tushuntiraman.
3 -qadam: Disk qulfini o'rnatish (2 -qism)
Keyin men sizga qulflashni xohlagan jodugarni tanlagan menyuni ko'rsataman (1 -rasm).
ColDrives = objFSO. Drives -ni o'rnating
ColDrives -dagi har bir objDrive uchun strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Keyingi strDrives = LCase (Replace (strDriveList, "", "", 1, -1)) colDrives = objFSO. Drives strDriveList = "" ni o'rnating. colDrives -da objDrive strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Keyingi
InputMenu ()
Sub InputMenu strChoice = InputBox ("Qulflamoqchi bo'lgan haydovchining harfini kiriting." Va _ "Yoki barcha disklarni qulflash uchun ALL yozing." & _ Vbcrlf & vbcrlf & "Mavjud drayvlar" va bo'sh joy (3) va _ ":" & vbCrLf va vbCrLf va strDriveList, cTitleBarMsg)
Kodning birinchi biti barcha mavjud drayvlar ro'yxatini tuzadi. Keyingi qism - siz blokirovka qilmoqchi bo'lgan haydovchining harfini kiritganingizda kirish qutisi.
Agar siz haydovchi harfidan boshqa biror narsani yozmoqchi bo'lsangiz, dastur rad etadi. Mana buni qanday qildim:
Agar IsEmpty (strChoice) bo'lsa
DisplaySplashScreen () ElseIf strChoice = "" Keyin MsgBox "Bu joyni bo'sh qoldirmang.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Keyin hech narsa qilmang. FAQAT harf. ", 16, cTitleBarMsg InputMenu () Boshqa holda InStr bo'lmasa (1, strDrives, LCase (strChoice), 1) 0 Keyin MsgBox" Tanlov noto'g'ri, qaytadan urinib ko'ring. ", 16, cTitleBarMsg InputMenu () Oxirida
Dastlabki ikkita satrda foydalanuvchi bekor qilish tugmachasini bosganmi yoki yo'qmi yoki yo'qmi tekshiriladi.
Keyingi uchta satrda foydalanuvchi kirish maydonini bo'sh qoldirganligini tekshiradi.
Kodning qolgan qismi juda chalkash, lekin u faqat foydalanuvchining to'g'ri diskda yozganligiga ishonch hosil qiladi.
4 -qadam: Disk qulfini ochish (3 -qism)
Ba'zi sabablarga ko'ra ro'yxatga olish kitobi haydovchi harfini o'qiy olmaydi, shuning uchun uni mos keladigan butun songa qo'yish kerak. Quyidagi kod shu narsani qilyapti. Bu haqda qo'shimcha ma'lumot olish uchun bu erni bosing.
Boshqa hollarda strChoice = "a" Keyin
intDriveNumber = 1 ElseIf strChoice = "b" Keyin intDriveNumber = 2 ElseIf strChoice = "c" Keyin intDriveNumber = 4
Butun son konfiguratsiya qilinganidan so'ng, skript endi ushbu kod yordamida registrga yozishi mumkin:
Yana bir eslatma shundaki, bu dastur HKCU o'rniga HKLMga yozadi. HKLM qulfni yanada samaraliroq bo'lishi uchun tizimga kirgan foydalanuvchiga emas, balki barcha foydalanuvchilarga ta'sir qiladi.
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 -qadam: haydovchi qulfi
Umid qilamanki, siz buni foydali deb topdingiz. Agar siz uning bir qismini tushunmasangiz, sharh yozing yoki menga yozing.
Va menga har qanday muammolar haqida fikr bildiring va baho bering. Men bunga ko'p vaqt sarfladim.
Agar xom vbs faylini yuklamoqchi bo'lsangiz, uning.vbs fayl kengaytmasi bilan saqlanganligiga ishonch hosil qiling. Yana bir yaxshi tomoni shundaki, u ko'chma, shuning uchun siz uni flesh -diskdan o'chirib qo'yishingiz mumkin va hech narsa o'rnatishingiz shart emas.