Stap 3: Het maken van de Drive Lock (deel 2)
Daarna zal ik laten zien u het menu waren u kiezen heks toer u zin te vergrendelen (foto 1).
Set colDrives = objFSO.Drives For Each objDrive in colDrives strDriveList = strDriveList & objDrive.DriveLetter & Space(10) Next strDrives = LCase(Replace(strDriveList," ","",1,-1)) Set colDrives = objFSO.Drives strDriveList = "" For Each objDrive in colDrives strDriveList = strDriveList & objDrive.DriveLetter & ":\" & Space(5) Next
InputMenu() Sub InputMenu strChoice = InputBox("Enter letter of the drive you wish to lock." & _ " Or type ALL to lock all drives." & _ vbcrlf & vbcrlf & "Available drives" & Space(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)
De eerste bit van code genereert een lijst van alle beschikbare stations. Het volgende deel is de inputbox waren u de letter van het station dat u wilt vergrendelen.
Als u probeert te typen in om het even wat maar een geldige stationsletter, en het programma zal weigeren. Hier is hoe ik het deed dat:
If IsEmpty(strChoice) Then DisplaySplashScreen() ElseIf strChoice = "" Then MsgBox "Do not leave this blank.",16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Then 'Do Nothing ElseIf Len(strChoice) <> 1 Then MsgBox "You must enter the letter ONLY.",16, cTitleBarMsg InputMenu() ElseIf Not InStr(1,strDrives,LCase(strChoice),1) <> 0 Then MsgBox "Invalid choice, please try again.",16, cTitleBarMsg InputMenu() End If
De eerste twee regels controleren om te zien of de gebruiker Klik op de Annuleren-knop, en als zij deden het programma beëindigd.
De volgende drie lijnen controles om te zien als de gebruiker het invoergebied leeg gelaten.
De rest van de code is nogal verwarrend, maar het is in principe gewoon ervoor te zorgen dat de gebruiker heeft ingevoerd in een geldig station.