Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.68
Skip
3 / 3 / 0
Регистрация: 11.11.2010
Сообщений: 38
#1

открытие cs-rom'a в c++ - C++

01.02.2011, 14:45. Просмотров 2874. Ответов 11
Метки нет (Все метки)

никак не могу найти исходник на C++ , который бы открывал и закрывал его
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2011, 14:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос открытие cs-rom'a в c++ (C++):

пропал автозапуск с CD-ROMa - Windows 7
Здравствуйте! Установил себе 7. Начинаю ставить диски с играми в CD-ROM а автозагрузки нет... не знаю может я где-то что-то отключил....

Не работает мышь hama roma - Мыши
случилась такая проблема: однажды мышь просто перестала работать после перезагрузки компа. дрова родные. винда xp. батарейки точно рабочие....

не могу загрузить ОС не с веника,не с СD-roma - BIOS
Всем привет, в общем дело бы так, привез я свой комп(он помощнее) к сестре, и решил переставить жесткий дист с компа сестры к себе,...

Переустановка Windows без CD-ROMa. - Windows
У меня полетела винда на ноуте Acer Aspire One A150-Bk без CD-ROMa. Как ее переустановить?

Нужен бекап NVRAM gsmart roma r2 plus - Android
Нужен бекап NVRAM gsmart roma r2 plus. Проблема в том что после сброса отказался работать тач. Данная проблема была вызвана мною ранее. По...

Очень долгая проверка DVD-ROMa при загрузке - Windows 7
Добрый день! Загрузка Windows 7 приостанавливается на окне приветствия до тех пор пока DVD-ROM не продет проверку (характерный звук -...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
01.02.2011, 15:00 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Skip, Плохо искали
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <Windows.h>
#include <mmsystem.h>
#include <tchar.h>
 
#pragma comment(lib, "WinMM.Lib")
using namespace std;
 
int main()
{
    int tra;
 
    cout << "Select variant: " << endl;
    cout << "1. Open CD" << endl;
    cout << "2. Close CD" << endl;
    cin >> tra;
 
    switch (tra)
    {
    case 1: mciSendString(_T("Set cdaudio door open wait"), NULL, 0, NULL); //Открытие привода CD-ROM
        break;
    case 2: mciSendString(_T("Set cdaudio door closed wait"), NULL, 0, NULL); //Закрытие привода CD-ROM
        break;
    default:
        cout << "error\n";
    }
 
    return 0;
}
5
Skip
3 / 3 / 0
Регистрация: 11.11.2010
Сообщений: 38
01.02.2011, 15:38  [ТС] #3
все нашел ошибку
1
+c+
112 / 22 / 3
Регистрация: 20.11.2010
Сообщений: 1,294
02.02.2011, 15:10 #4
разобрался. не увидел биб-ку #pragma comment(lib, "WinMM.Lib")
ато впадло тянутся открывать
0
AlexP11223
36 / 37 / 4
Регистрация: 20.04.2011
Сообщений: 288
15.05.2011, 22:39 #5
Почему не работает этот код? Компилится, но при выборе соответствующего действия ничего не происходит (ни открытие, ни закрытие). Гуглил, ничего другого не нашел. VS2010, Win7 x64

Пробовал еще
Код
  mciSendString("open cdaudio!F: alias driveX", NULL, 0, 0);
mciSendString("Set cdaudio door open wait", NULL, 0, 0);
0
garkeP91
50 / 50 / 5
Регистрация: 24.10.2010
Сообщений: 131
15.05.2011, 23:25 #6
А у меня работает код asics! Спасибо. Не то что было нужно, было интересно было попробовать.
0
AlexP11223
36 / 37 / 4
Регистрация: 20.04.2011
Сообщений: 288
16.05.2011, 12:35 #7
up, все также не работает =\
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
16.05.2011, 12:45 #8
Помнится когда мне понадобился пример кода открытия/закрытия CD-ROM'а, я его нагуглил в течении нескольких минут.
Не вижу причины не пользоваться поиском!
0
AlexP11223
36 / 37 / 4
Регистрация: 20.04.2011
Сообщений: 288
19.05.2011, 11:35 #9
Цитата Сообщение от Nubik756 Посмотреть сообщение
Гуглил, ничего другого не нашел.
т.е. везде тоже самое, что в этом примере.

Может быть дело в наличии виртуального привода (Daemon tools)? Но вроде же код из сообщения 5 должен это решать, если в этом проблема.
 Комментарий модератора 
Nubik756, хватит поднимать свою тему подобными фразами.


Добавлено через 17 часов 1 минуту
up, неужели у меня одного CD-ROM не реагирует на вышенаписанный код?)

Добавлено через 23 часа 35 минут
upupup

Добавлено через 22 часа 25 минут
upupup
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
19.05.2011, 16:55 #10
Блин Nubik756, ты гуглом пользоваться не умеешь. По ссылке на первой странице:
C++
1
2
3
err=mciSendString("open h: type cdaudio alias cd",&buf, size,null);
 
err=mciSendString("set cd door open wait",&buf, size,null);
где <h:> соответсвенно буква привода, если несколько приводов, юзай нужный.

Добавлено через 22 минуты
Попробовал - код asics у меня тоже не пошел (возможно потому что в системе 2 привода), а этот работает.
Nubik756, если у тебя и этот работать не будет, не надо неделю апать тему, поищи!!!
0
AlexP11223
36 / 37 / 4
Регистрация: 20.04.2011
Сообщений: 288
19.05.2011, 17:38 #11
А кто такой err?0o

C++
1
2
mciSendString("open f: type cdaudio alias cd", NULL, 0, NULL);
mciSendString("set cd door open wait", NULL, 0, NULL);
Работает.
Но почему-то не закрывает.
C++
1
2
mciSendString("closed f: type cdaudio alias cd", NULL, 0, NULL);
mciSendString("set cd  door closed wait", NULL, 0, NULL);
Но нашел какой-то страшный и непонятный код (функцию), который работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//Open or Close CD Drive
//cDrive is Drive Letter to Open, or 0x01 for 'Default' drive
//Examples:
//CD_OpenCloseDrive(TRUE, 'G');  //Open CD Door for Drive G:
//CD_OpenCloseDrive(FALSE, 'G'); //Close CD Door for Drive G:
//CD_OpenCloseDrive(TRUE, 1);    //Open First Logical CD Door
 
void CD_OpenCloseDrive(BOOL bOpenDrive, TCHAR cDrive)
{
 MCI_OPEN_PARMS op;
 MCI_STATUS_PARMS st;
 DWORD flags;
 
 TCHAR szDriveName[4];
 strcpy(szDriveName, "X:");
 
 ::ZeroMemory(&op, sizeof(MCI_OPEN_PARMS));
 op.lpstrDeviceType = (LPCSTR) MCI_DEVTYPE_CD_AUDIO;
 
 if(cDrive > 1)
 {
  szDriveName[0] = cDrive;
  op.lpstrElementName = szDriveName;
  flags = MCI_OPEN_TYPE
        | MCI_OPEN_TYPE_ID
        | MCI_OPEN_ELEMENT
        | MCI_OPEN_SHAREABLE;
 }
 else flags = MCI_OPEN_TYPE
            | MCI_OPEN_TYPE_ID
            | MCI_OPEN_SHAREABLE;
 
 if (!mciSendCommand(0,MCI_OPEN,flags,(unsigned long)&op))
 {
  st.dwItem = MCI_STATUS_READY;
 
  if(bOpenDrive)
   mciSendCommand(op.wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0);
  else
   mciSendCommand(op.wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
 
  mciSendCommand(op.wDeviceID,MCI_CLOSE,MCI_WAIT,0);
 }
}
0
-=ЮрА=-
20.07.2012, 13:06     открытие cs-rom'a в c++
  #12

Не по теме:

Мой старенький проектик выталкивателя для лотков всех ROM-ов системы (есть трей, возможность получения справки по файловой системе тома, поддержка контекстного меню (правая клавиша мыши)) Ошибка при открытие CD-ROW в коде

Может кому пригодится...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2012, 13:06
Привет! Вот еще темы с ответами:

Установка Windows XP на ноутбук Asus без DVD-ROMa - Windows XP
Не могу установить винду на ноут - предустановлена FreeDos? сделал загрузочную флешку, биос ее видит, но при попытке поставить ее на 1ый...

CppWEbBrowser. Запрет на открытие нового окна, и открытие его в том же окне - C++ Builder
Создаю программку-браузер. Столкнулся с такой проблемой, когда нажимаю на определенную ссылку срабатывает target=&quot;_blank&quot; и страница...

Самопроизвольное открытие Хрома, открытие новых вкладок с рекламой - Удаление вирусов
Здравствуйте, слезно прошу о помощи. Суть проблемы: открываются новые вкладки с рекламой в браузере с определенным периодом. Каждый раз в...

Авто-открытие установки вирусных ПО, авто-открытие рекламы в баузере - Удаление вирусов
Здавствуйте. Скачивал игру с торрента, от R.G. MECHANICS, вместе с установкой игры, в тот же момент, установило целую тучу ПО, таких как:...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.07.2012, 13:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru