0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58

Как открыть нужный CD-Rom.

23.02.2010, 07:40. Показов 1419. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем!
У меня на компе два CD-Rom'а. С помощью следующего кода открывается сидюк D:
Visual Basic
1
2
3
4
5
6
7
 Private Sub Command1_Click()
 Dim lngResult As Long
 Dim lngCallBack As Long
 Dim strReturnString As String
 strReturnString = Space$(128)
 lngResult = mciSendString('set CDAudio door open', strReturnString,   128, 0)
 End Sub
А как открыть другой сидюк F? Наверное в строке 'set CDAudio door open' как-то надо прописать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2010, 07:40
Ответы с готовыми решениями:

Как программно открыть и закрыть CD-ROM?
Как программно открыть и закрыть CD-ROM?

OpenServer - как открыть нужный профиль в браузере?
Когда открываю сайт через OpenServer, открывается нужный мне браузер - Mozila Firefox, но у меня 3 профиля и, к сожалению, открывается...

Как из Аксесса открыть нужный веб-сайт и провести на нем действия?
Есть форма для контроля за получением груза, где отмечаются перевозчики и номера деклараций. Начал дописывать процедуру, по которой ...

9
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58
24.02.2010, 06:32  [ТС]
Доброго дня всем!
Нашел на www.microsoft.com/Rus/Msdn Совет 279. 'Как реализовать работу с несколькими дисководами CD-ROM с помощью MCI-интерфейса'. Привожу код без описания API.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Form_Load()
  Dim k As Long
  For k = Asc('A') To Asc('Z')
    If GetDriveType(Chr$(k) & ':') = DRIVE_CDROM Then
      List1.AddItem Chr$(k) & ':'
    End If
  Next
End Sub
 
    Private Sub List1_DblClick()
' Может кто подскажет зачем нужна следующая строка?
'';' не нужно, иначе ошибка.
    mciSendString 'open'; & List1.List(List1.ListIndex) & 'type cdaudio alias cdaudi', vbNullString, 0, 0
    mciSendString 'set cdaudio door open', vbNullString, 0, 0
'Эта строка не работает, надо писать 'set cdaudio door closed'   
    mciSendString 'close cdaudio', vbNullString, 0, 0
    End Sub
В общем код не работает. А почему?
0
Messir
24.02.2010, 07:30
гм...
Visual Basic
1
mciSendString 'open'; & List1.List(List1.ListIndex) & 'type cdaudio alias cdaudi', vbNullString, 0, 0
Очень смахивает на то, что в этой строке опечатка - ...alias cdaudi',... Имхо, должно там тоже cdaudio быть... или наоборот - cdaudi во всех следующих строках...
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58
24.02.2010, 08:17  [ТС]
Я был немного не прав, сказав, что код не работает. Код работает но на половину, т.е. открывается только один CD-Rom (D), не зависимо от того по какому я щелкаю в листе по D или F.
А на счет 'cdaudi во всех следующих строках', то должно быть 'cdaudio', проверил.
А в строке
mciSendString 'open'; & List1.List(List1.ListIndex) & 'type cdaudio alias cdaudi', vbNullString, 0, 0
можно хоть как писать, все равно не работает, она просто игнорируется.
0
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58
01.03.2010, 07:17  [ТС]
Неужели никто не знает?
Может этого в принципе сделать нельзя?
0
Comanche
01.03.2010, 12:00
Visual Basic
1
mciSendString 'open ' & List1.List(List1.ListIndex) & ': type cdaudio alias cdaudio', vbNullString, 0, 0
По-моему, просто не хватало пробелов. А вот насчёт двоеточия (после дисковой литеры) - это надо проверить.
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58
02.03.2010, 07:01  [ТС]
Доброго дня всем!
Спасибо за совет, продвижение есть, но только на пол-шага.
Теперь я могу открыть и диск D и диск F, но в зависимости от того какой диск я первым открываю после запуска VB, т.е. после запуска VB и запуска моей проги, если я первым открываю диск F, то он открывается, причем не зависимо от того, что я выбираю D или F. Чтобы открыть диск D необходимо перезапустить VB и тогда открывается только диск D.
Кажись после
Visual Basic
1
2
mciSendString 'open ' & List1.List(List1.ListIndex) & ' type cdaudio alias cdaudio', vbNullString, 0, 0
mciSendString 'set cdaudio door open', vbNullString, 0, 0
не хватает какойто стороки, чтобы сбрость (или что-то в этом роде) mciSendString?
0
Messir
02.03.2010, 07:08
может быть так?
Visual Basic
1
mciSendString 'close cdaudio', vbNullString, 0, 0
0 / 0 / 0
Регистрация: 11.06.2007
Сообщений: 58
02.03.2010, 08:01  [ТС]
Всем огромное спасибо.
Это была недостоющая строка.
0
Hover
03.03.2010, 22:51
Скажу за себя: ничто не бесит так, как самопроизвольно открывающийся CD-ROM.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2010, 22:51
Помогаю со студенческими работами здесь

Как запихнуть в exe html файл и открыть его через нужный мне браузер?
В общем есть у меня файл fff.html путем ShellExecute я открываю его через нужный мне браузер, например: ...

Открыть CD-ROM
Добрый день, снова обращаюсь к вам. Можно ли на C# открыть и закрыть CD-ROM. Если да, то как?

Мой dvd-rom стал работать как cd-rom
мой dvd-rom стал работать как cd-rom после того как я удалил из реестра запись с игрой в папке"mo-soft":help:

Открыть лоток CD-ROM-a
Ну все теперь я гроза CD-ROM`ов:umnik:

Открыть/закрыть CD-ROM
Как программно открыть и закрыть CD-ROM?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru