Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/17: Рейтинг темы: голосов - 17, средняя оценка - 4.76
nikitapel
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
1

Открытие лотка DVD-привода

21.03.2011, 21:33. Просмотров 3078. Ответов 6
Метки нет (Все метки)

Очень Хочу написать программу которая бы открывала привод. Все в интернете перечитал использую dev c++. Ничего не помагает. Может кто-то встречался с этим?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2011, 21:33
Ответы с готовыми решениями:

Открытие и закрытие лотка CD-ROM-a и проверка наличия диска в нём
Нужно реализовать .bat файл который бы открывал и закрывал CD-ROM. Также...

Из-за DVD привода не запускается ОС
решил поменять DVD Sony NEC Optical шлейф ata ,на что система Win 7 матиринка...

Выбор Cd/dvd привода
Помогите сделать выбор между приводом samsung и asus, какой марки привод лучше...

Пропал значок DVD-привода
vsem salam.u menya problema - dvd-rom propal s moego komputera,posle togo kak...

Запрет использования dvd привода
Доброе утро! Кто нибудь подскажите надежный способ програмно запретить или...

6
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
21.03.2011, 21:54 2
nikitapel,
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(("Set cdaudio door open wait"), NULL, 0, NULL); //Открытие привода CD-ROM
        break;
    case 2: mciSendString(("Set cdaudio door closed wait"), NULL, 0, NULL); //Закрытие привода CD-ROM
        break;
    default:
        cout << "error\n";
    }
 
    return 0;
}
1
Chelioss
181 / 181 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
21.03.2011, 21:56 3
asics
Открыть/закрыть функция понимает по строке что ли?
0
nikitapel
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
21.03.2011, 21:59  [ТС] 4
Блин пишет ошибки
[Linker error] undefined reference to `mciSendStringA@16'
[Linker error] undefined reference to `mciSendStringA@16'
ld returned 1 exit status
asics скажи какую ты используешь программу?
Я надеюсь у тебя работает?
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
21.03.2011, 22:04 5
Цитата Сообщение от Chelioss Посмотреть сообщение
asics
Открыть/закрыть функция понимает по строке что ли?
Да я хз, не вникал в это дело.

Добавлено через 30 секунд
nikitapel, MVS10

Добавлено через 28 секунд
Цитата Сообщение от nikitapel Посмотреть сообщение
Я надеюсь у тебя работает?
Да...
0
nikitapel
36 / 36 / 6
Регистрация: 20.03.2011
Сообщений: 331
21.03.2011, 22:21  [ТС] 6
ммм,ладно попробую поставить твою программу кстати можешь скинуть exe файл

Добавлено через 5 минут
ммм,ладно попробую поставить твою программу кстати можешь скинуть exe файл
0
IrineK
Заблокирован
22.03.2011, 12:27 7
Лучший ответ Сообщение было отмечено как решение

Решение

Это работает:

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
#include <iostream>
#include <Windows.h>
#include <mmsystem.h>
#include <tchar.h>
 
#pragma comment(lib, "WinMM.Lib")
using namespace std;
 
int main()
{
        MCI_OPEN_PARMS open;
        DWORD flags;
 
        ZeroMemory(&open, sizeof(MCI_OPEN_PARMS));
 
        open.lpstrDeviceType = (LPCWSTR) MCI_DEVTYPE_CD_AUDIO;
        open.lpstrElementName = _T("E:");
 
        flags = MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID;
 
    if (!mciSendCommand(0, MCI_OPEN, flags, (DWORD) &open)) 
    {
        cout<<"We are opening CD...\n";
        mciSendCommand(open.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
        Sleep(5000);
        cout<<"We are closing CD...\n";
        mciSendCommand(open.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
        mciSendCommand(open.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
    }
    else cout<<"Failed to entertain you\n";
 
        return 0;
}
Помним: На лаптопах закрываться не будет - нет механизма закрытия.

Добавлено через 12 часов 10 минут
nikitapel,
Очень Хочу ...
Как с исполнением желаний?
3
22.03.2011, 12:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2011, 12:27

Windows 8 не видит DVD привода
Как только установил windows 8 привод нормально отображался в моем компьютере....

Комп не загружается с DVD привода
Купил ноут: NOTEBOOK eMachines eME440 Microsoft Windows 7 Starter...

Некорректная работа привода DVD-RW
Здравствуйте, подскажите пожалуйста в чем может быть эта проблема и можно ли ее...


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

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

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