Switch $FS
Case 'FAT32', 'FAT16', 'FAT', 'NTFS'
Return 1
Case Else
Return 0
EndSwitch
USBProtect теперь работает только в Windows Vista и выше (тестировал на Windows 7). Это связано с тем, что в Windows XP FSCTL_LOCK_VOLUME работает только с правами администратора, что в свою очередь сводит на нет всю концепцию программы. USBResolve работает во всех системах.
Case 'FAT32', 'NTFS'
Case 'FAT32', 'FAT16', 'FAT', 'NTFS'
qymor сказал(а):Флешки блокируются "на ура" , но ВСЕ, даже разрешённые утилитой USBResolve. Такой вот баг, который сам я исправить не могу... :(
я проделал ранее, так как некоторые флешки не хотели "разрешатся"USBResolve.au3 => Строка 277 => "Case 'FAT32', 'NTFS'"
я тут проверил, пользователь с правами обычного юзера не сможет поменять букву диска, что меня вполне устраивает ;Dмне тут показали, что процесс можно просто обойти (на ХР). Просто поменяв букву диска через администрирование, не выгружая процесс. Как с этим бороться?
Func _DriveIsValidate($sVolume)
Local $ID
If _DriveIsKnown($sVolume) Then
$ID = _GetVolumeUniqueID($sVolume)
;If ($ID) And ($ID = _FileQueryVolumeID($sVolume & '\Volume.dat')) Then
If ($ID) And (_FileQueryVolumeID($sVolume & '\Volume.dat')) Then
Return 1
EndIf
EndIf
Return 0
EndFunc ;==>_DriveIsValidate