powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Всегда ли диски A и B - дискета, или проблемы с GetDriveType
24 сообщений из 24, страница 1 из 1
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33377742
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флоповод у нас вроде определяется как REMOVABLE, но как определить что он дисковод, а не какой-нибудь флеш-диск или что там еще можно повесить на A или B? Какую иконку присваивать?
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33378013
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Съемный - он и есть съемный, GetDriveType не знает разницы.
Правда, можно поковырять реестр на эту тему.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379255
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, труба... Мало того, можно и сетевой диск как A прифигачить...
Как же определить флопик это или что-то другое?
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379481
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DriveType=Removable
IsReady=False
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379521
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если IsReady=False ?
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379522
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле True
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379530
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IsReady=True , если вставлена дискета. Для других дисков IsReady=False
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379664
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда примерчик кода дайте что ли что это за IsReady, а то они разные бывают. На API желательно.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379694
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то это все в начале памяти хранится.
Биты и байты, передаваемые из биоса: флопы, их количество, адреса портов, буфер клавиатуры, фигня-мигня...
Не знаю уже. Вернее, не помню. Хотя когда-то знал. Но забыл.

И можно было прямо GET из памяти по конкретному адресу было взять и понять его. И глядеть на него.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379712
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример на VBScript

Dim Sc As FileSystemObject
Set Sc = CreateObject("Scripting.FileSystemObject")
MsgBox Sc.Drives("A").IsReady
MsgBox Sc.DriveExists("A")
MsgBox Sc.Drives("A").TotalSize

Sc.DriveExists("A")=Sc.Drives("A").IsReady (одно и то же)


Что касается IsReady=True, читайте внимательнее предыдущие сообщения.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379727
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для вставленной флэшки тоже будет
DriveType=Removable
IsReady=True
так что это не выход.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379748
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для вставленной флэшки IsReady=True . Для флопа без дискеты False . Для вставленной дискеты True . Для дискеты TotalSize=1457664 , для флэшки соответственно ее размеру.

1. Если DriveType=Removable , то:
2.1. Если IsReady=False , то сразу флоп.
2.2. Если IsReady=True (вставлена дискета), то:
3.2. Если TotalSize=1457664 , то флоп.

Все.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379750
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и я о том же что не прокатит это.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379753
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер не показатель, еще раз говорю, он может отличаться.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379755
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает. Почему не прокатит?
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379767
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TotalSize - общий объем дискеты. Можно поставить условие на объем (<1.44 или <2,88). И все.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379829
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно-то можно, но это грубо и не красиво. Мало ли какой диск подключат меньше <2,88, ramdrive например.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379840
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RamDrive это отдельный DriveType, так что это отлавливается.
А вот флэшку маленького размера так не поймаешь. Или еще какой девайс, USB-чайник, например. :)
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33379914
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ты прав, не подумал, ну тогда флешку глючную подрубят.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33380158
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USB отпадает, можно прочитать в реестре, правда ключ щас не вспомню, но точно есть.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33380177
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех, что интересно, флопик подключенный через subst как например диск N, система уже флопиком не считает :)
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33380495
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
subst d: a:\
drivetype("a")=1
drivetype("d")=1


Через subst тоже флоп, т.к. просто создается ярлык на флоп.
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33380846
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой метод пойдет?

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk", , 48)
For Each objItem In colItems
If objItem.Description = "Дисковод 3,5 дюйма" Then
MsgBox "Access: " & objItem.Access
MsgBox "Availability: " & objItem.Availability
MsgBox "BlockSize: " & objItem.BlockSize
MsgBox "Caption: " & objItem.Caption
MsgBox "Compressed: " & objItem.Compressed
MsgBox "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
MsgBox "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
MsgBox "CreationClassName: " & objItem.CreationClassName
MsgBox "Description: " & objItem.Description
MsgBox "DeviceID: " & objItem.DeviceID
MsgBox "DriveType: " & objItem.DriveType
MsgBox "ErrorCleared: " & objItem.ErrorCleared
MsgBox "ErrorDescription: " & objItem.ErrorDescription
MsgBox "ErrorMethodology: " & objItem.ErrorMethodology
MsgBox "FileSystem: " & objItem.FileSystem
MsgBox "FreeSpace: " & objItem.FreeSpace
MsgBox "InstallDate: " & objItem.InstallDate
MsgBox "LastErrorCode: " & objItem.LastErrorCode
MsgBox "MaximumComponentLength: " & objItem.MaximumComponentLength
MsgBox "MediaType: " & objItem.MediaType
MsgBox "Name: " & objItem.Name
MsgBox "NumberOfBlocks: " & objItem.NumberOfBlocks
MsgBox "PNPDeviceID: " & objItem.PNPDeviceID
MsgBox "PowerManagementCapabilities: " & objItem.PowerManagementCapabilities
MsgBox "PowerManagementSupported: " & objItem.PowerManagementSupported
MsgBox "ProviderName: " & objItem.ProviderName
MsgBox "Purpose: " & objItem.Purpose
MsgBox "Size: " & objItem.Size
MsgBox "Status: " & objItem.Status
MsgBox "StatusInfo: " & objItem.StatusInfo
MsgBox "SupportsFileBasedCompression: " & objItem.SupportsFileBasedCompression
MsgBox "SystemCreationClassName: " & objItem.SystemCreationClassName
MsgBox "SystemName: " & objItem.SystemName
MsgBox "VolumeName: " & objItem.VolumeName
MsgBox "VolumeSerialNumber: " & objItem.VolumeSerialNumber
End If
Next
...
Рейтинг: 0 / 0
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
    #33381209
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да этот способ работает, но одно но, по которому я от него отказался:
работает ли WMI на большинстве машин, не говоря уже о том, что оно просто может отсутствовать?

ЗЫ: с Msgbox это ты здорово придумал
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Всегда ли диски A и B - дискета, или проблемы с GetDriveType
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]