Проверьте, является ли дисковод записи Windows API Функция [Закрыто
Вопрос
Здравствуйте, есть ли функция API Windows, которая вернет, если бы диск пишется. Иногда привод виден под накопителями, но при попытке программирования написать к нему, он дает вам ошибку MSG Box, который зависает приложение, пока пользователь не нажимает кнопку OK. Есть ли встроенные функции, которые проверили, проверял, будет ли дисковод с записью без надоемого ящика ошибок?
Я уже попробовал trycopy и возвращает ту же ошибку msgbox :(
Спасибо!
Решение
Попробуйте позвонить SetErrorMode( SEM_FAILCRITICALERRORS)
Чтобы предотвратить появление сообщения об ошибках.
http://msdn.microsoft.com/en-us/library/ms680621(vs.85).aspx.
Другие советы
Вы можете установить ссылку на время выполнения сценариев Microsoft.
Затем вы можете использовать код типа:
Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive
Set clsDrive=FSO.GetDrive("C")
Класс привода имеет свойство FreeSpace, которое будет равно нулю, если привод не записан.
Более того, есть скрипты. Класс Folder Class, который вы можете использовать с помощью FSO. GetFolder (), который имеет свойство атрибутов, который состоит из флагов типа Fileattribute. Вы можете использовать код, как
clsFolder.Attributes And FileAttribute.Readonly
Чтобы проверить на err ... Readonlyness ;-)
Вызов GetvolumeInformation () и проверить FILE_READ_ONLY_VOLUME
В параметре возвращенных флагов.