|
|
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Флоповод у нас вроде определяется как REMOVABLE, но как определить что он дисковод, а не какой-нибудь флеш-диск или что там еще можно повесить на A или B? Какую иконку присваивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2005, 22:23:00 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Никак. Съемный - он и есть съемный, GetDriveType не знает разницы. Правда, можно поковырять реестр на эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 09:25:11 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Да, труба... Мало того, можно и сетевой диск как A прифигачить... Как же определить флопик это или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 14:37:57 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
DriveType=Removable IsReady=False ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:43:38 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
А если IsReady=False ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:55:47 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
В смысле True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:56:03 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
IsReady=True , если вставлена дискета. Для других дисков IsReady=False ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 15:58:18 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Тогда примерчик кода дайте что ли что это за IsReady, а то они разные бывают. На API желательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:40:39 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Где-то это все в начале памяти хранится. Биты и байты, передаваемые из биоса: флопы, их количество, адреса портов, буфер клавиатуры, фигня-мигня... Не знаю уже. Вернее, не помню. Хотя когда-то знал. Но забыл. И можно было прямо GET из памяти по конкретному адресу было взять и понять его. И глядеть на него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:49:33 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Вот пример на 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, читайте внимательнее предыдущие сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:57:20 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Для вставленной флэшки тоже будет DriveType=Removable IsReady=True так что это не выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:02:19 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Для вставленной флэшки IsReady=True . Для флопа без дискеты False . Для вставленной дискеты True . Для дискеты TotalSize=1457664 , для флэшки соответственно ее размеру. 1. Если DriveType=Removable , то: 2.1. Если IsReady=False , то сразу флоп. 2.2. Если IsReady=True (вставлена дискета), то: 3.2. Если TotalSize=1457664 , то флоп. Все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:14:08 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Вот и я о том же что не прокатит это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:14:24 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Размер не показатель, еще раз говорю, он может отличаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:15:07 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
У меня работает. Почему не прокатит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:16:02 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
TotalSize - общий объем дискеты. Можно поставить условие на объем (<1.44 или <2,88). И все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:19:18 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Можно-то можно, но это грубо и не красиво. Мало ли какой диск подключат меньше <2,88, ramdrive например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:46:43 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
RamDrive это отдельный DriveType, так что это отлавливается. А вот флэшку маленького размера так не поймаешь. Или еще какой девайс, USB-чайник, например. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:52:48 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Да ты прав, не подумал, ну тогда флешку глючную подрубят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 18:19:24 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
USB отпадает, можно прочитать в реестре, правда ключ щас не вспомню, но точно есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 21:30:02 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Хех, что интересно, флопик подключенный через subst как например диск N, система уже флопиком не считает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 22:06:12 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
subst d: a:\ drivetype("a")=1 drivetype("d")=1 Через subst тоже флоп, т.к. просто создается ярлык на флоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 09:27:59 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Такой метод пойдет? 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 11:31:25 |
|
||
|
Всегда ли диски A и B - дискета, или проблемы с GetDriveType
|
|||
|---|---|---|---|
|
#18+
Да этот способ работает, но одно но, по которому я от него отказался: работает ли WMI на большинстве машин, не говоря уже о том, что оно просто может отсутствовать? ЗЫ: с Msgbox это ты здорово придумал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:03:50 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33378013&tid=2166866]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
229ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 543ms |

| 0 / 0 |
