RafaelFranckilin Ответов: 1

Разрешите форме открываться только внутри драйвера пера


Что я хотел бы сделать, так это идентифицировать мой драйвер пера и разрешить форме открываться только в том случае, если exe-файл находится внутри нее.

Что я уже пробовал:

Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_volume")
       Dim drive As Integer
       For Each wmi_USB As ManagementObject In searcher.Get()
           If (wmi_USB("SerialNumber")) = "1820527542" Then
               drive = 1
               Exit For
           End If
       Next
       If Not drive = 1 Then
           MsgBox("Error - The pendriver was not found!", MsgBoxStyle.Critical, "title")
           Me.Close()
       End If

		    
                    

1 Ответов

Рейтинг:
0

Maciej Los

Я бы предложил использовать Класс DriveInfo (System.IO)[^]

Как получить список съемных дисков?

Dim RemoveableDrives = DriveInfo.GetDrives().Where(Function(x) x.DriveType=DriveType.Removable).ToList()
For Each d As DriveInfo In RemoveableDrives
    Console.WriteLine(" Drive name: {0} type: {1}", d.Name, d.DriveType)
    If d.IsReady = True Then
        Console.WriteLine("  Volume label: {0}", d.VolumeLabel)
        Console.WriteLine("  File system: {0}", d.DriveFormat)
        Console.WriteLine("  Available space to current user:{0, 15} bytes", d.AvailableFreeSpace)
        Console.WriteLine("  Total available space: {0, 15} bytes", d.TotalFreeSpace)
        Console.WriteLine("  Total size of drive: {0, 15} bytes ", d.TotalSize)
    End If
Next


Теперь вы должны проверить, есть ли привод Приложение.Свойство StartupPath (System.Окна.Формы)[^] - это съемный диск.


RafaelFranckilin

На самом деле я хочу, чтобы кто-то не копировал мою программу на другой pendriver, поэтому мне нужно идентифицировать мой pendriver и предотвратить запуск программы на другом устройстве, отличном от моего pendriver.

Maciej Los

И...