CD или DVD

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

CD или DVD

Сообщение GB826 » 11.05.2006 (Чт) 11:28

Возможно ли определить CD или DVD вставлен в DVD-привод?
Если да то как?

Была идея определять по размеру вставленного диска, но по-моему, определяется только размер записанной инфы.
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.05.2006 (Чт) 14:42

Может быть так:
Код: Выделить всё

Select Case Drive("I:\").FileSystem
  Case "CDFS"
    MsgBox "Вставлен CD"
  Case "UDF"
    MsgBox "Вставлен DVD"
  Case Else
    MsgBox "Чё вы за фигню в привод запихали???"
End Select


__________
Попутный вопрос: а как отловить момент когда диск вставляют в привод?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 11.05.2006 (Чт) 14:49

Хакер писал(а):Попутный вопрос: а как отловить момент когда диск вставляют в привод?

Монтирование?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.05.2006 (Чт) 14:51

Что "монтирование" ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 11.05.2006 (Чт) 14:53

Хук на событие монтирование
я великий теоретик :)

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 11.05.2006 (Чт) 14:57

Хакер, попробую

А мне ловить не надо, я знаю что он там есть/нет + on error
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.05.2006 (Чт) 15:00

Код: Выделить всё

Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long


А что у нас будет в idHook?

_______
ЗЫ. GB826, получилось?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.05.2006 (Чт) 15:46

Через полгода ты поднимешь эту тему с вопросом "Как мне дополнительно распознать HD-DVD и BD?". Соответственно, вопрос: а какая разница, что туда вставлено?..

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.05.2006 (Чт) 15:48

Ennor, кому этот пост адресован?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 11.05.2006 (Чт) 16:01

Будущему тебе :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.05.2006 (Чт) 16:04

RayShade писал(а):Будущему тебе :)


А причём тут я? Я этого не спрашивал, я только про хуук спросил...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 11.05.2006 (Чт) 17:28

Ну будущему автору темы :)

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.05.2006 (Чт) 17:46

Хакер - по дефолту, если имя не указано, значит автор темы :). Это ж его вопрос...

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 12.05.2006 (Пт) 9:08

Слушайте получилось :о)
код конечно не очень.

Превед от МСДН
VBSCRIPT...
Код: Выделить всё
Function ShowFileSystemType(drvspec)
   Dim fso,d
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(drvspec)
   ShowFileSystemType = d.FileSystem
End Function




2Ennor
Система учета дисков... чтобы юзверь не указывал тип ручками....
+ исчо несколько приблуд (секрет)
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 12.05.2006 (Пт) 10:12

Я не знаю, как с этим обстоят дела для HD-DVD, но допустим что на них осталась все та же UDF. Как будешь различать? А они уже есть в продаже, вообще-то...

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 12.05.2006 (Пт) 10:26

Ennor А что это такое?
Это случаем не с голубым лазером? Да и стоят они наверно, как СД (в свое время, когда тока появились). Так что пока нет проблем.

ЗЫ Они у нас в оборот войдут наверно года через 3....

У наших клиентов не всегда и СД-ром то есть, не то что двд
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.05.2006 (Пт) 13:08

А почему VBScript?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 12.05.2006 (Пт) 13:18

Пример в мсдн на vbs
так то переделал, все ОК, спасибо за идею...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 12.05.2006 (Пт) 14:57

БЛИН, нашел dvd, у которых файловая система CDFS :о(

Вопрос открыт...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.05.2006 (Пт) 15:30

Ничего. И CD с UDF тоже найдешь.
Lasciate ogni speranza, voi ch'entrate.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 12.05.2006 (Пт) 15:30

смотри объем

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.05.2006 (Пт) 15:32

Nicky, никогда не видел DVD, на которые записано 100-200 Мб?
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.05.2006 (Пт) 15:42

Может быть проверить каким-нибудь регмоном, что меняется в реестре когда вставляется новый диск,

вот интересная ветка, сам полезного ничего не нашёл, но...
Код: Выделить всё

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning\Drives
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.05.2006 (Пт) 15:57

И что в ней интересного?

По идее, всю информацию можно через ASPI вытянуть. Вот только примеры надо в инете искать.
Lasciate ogni speranza, voi ch'entrate.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 12.05.2006 (Пт) 16:01

alibek писал(а):Nicky, никогда не видел DVD, на которые записано 100-200 Мб?

Объем носителя?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.05.2006 (Пт) 16:10

Во-первых, как ты узнаешь объем носителя?
А во-вторых, это тоже неправильно.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.05.2006 (Пт) 16:13

alibek писал(а):И что в ней интересного?

Ключи DriveType (хотя он не менялся)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.05.2006 (Пт) 16:18

2GB826, а настолько ли важна разница.

ЗЫ. Можно сделать очень пошло: открыть где нибудь за пределами экрана, к примеру, диалог свойств, там найти соотв. Static и оттуда взять тип. Хотя диалог свойст диска у меня показывает:

Тип: CD-дисковод
Ф/С: CDFS
-------------

хотя вставлен DVD...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.05.2006 (Пт) 16:33

Код: Выделить всё
120     Set cn = New ADODB.Connection
130     cn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""DSN=w;DBQ=root\CIMV2;SERVER=;UIDPWDDEFINED=;UID=;SYSPROPS=FALSE;NAMESPACES={root\CIMV2,deep}"""
        cn.CursorLocation = adUseClient
140     cn.Open
       
        Set Rs = New ADODB.Recordset
        Rs.CursorLocation = adUseClient
        Set Rs.ActiveConnection = cn
        Rs.Open "SELECT * FROM CIM_MediaAccessDevice", , adOpenStatic, adLockReadOnly, adCmdText
   
160     Set Me.DataGrid1.DataSource = Rs


дальше сам разберешься :D

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.05.2006 (Пт) 16:35

WBEM ODBC Driver надо поставить из сетапа (искать на сайте мелкософта)

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.ru [бот], Yandex-бот и гости: 36

    TopList  
cron