Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Взаимодействуем с CD/DVD приводом

Статус
В этой теме нельзя размещать новые ответы.

#Samurai

Изучающий
Регистрация
16 Сен 2017
Сообщения
421
Лучшие ответы
0
Репутация
229
Взаимодействие с CD/DVD приводом.
[HR][/HR]
Подключаем пространство имён для работы с DLL библиотеками
PHP:
using System.Runtime.InteropServices;
Для работы с текстом
PHP:
using System.Text;
Для работы с типом, который используется для представления указателя и дескриптора да и системными функциями вовсе
PHP:
using System;
[HR][/HR]
Теперь помещаем этот код в необходимый класс, в моём случае это Program
PHP:
[DllImport("winmm.dll")]
static extern int mciSendString(string command, StringBuilder buffer, int bufferSize, IntPtr hwndCallback);

/// <summary>
/// Открыть CD/DVD привод
/// </summary>
/// <param name="name">Буква привода</param>
public static void OpenDrive(string name)
{
    mciSendString($"open {name}: type CDAudio alias drive{name}", null, 0, IntPtr.Zero);
    mciSendString($"set drive{name} door open", null, 0, IntPtr.Zero);
}

/// <summary>
/// Закрыть CD/DVD привод
/// </summary>
/// <param name="name">Буква привода</param>
public static void CloseDrive(string name)
{
    mciSendString($"set drive{name} door closed", null, 0, IntPtr.Zero);
}
Функции

PHP:
OpenDrive(string name)
Открытие привода
  • name - буква привода

PHP:
CloseDrive(string name)
Закрытие привода
  • name - буква привода
[HR][/HR]
Пример работы:
PHP:
public static void Main()
{
    // Открываем привод, где E - буква привода
    OpenDrive("E");
    // Ждём 5 секунд
    System.Threading.Thread.Sleep(5000);
    // Закрываем привод
    CloseDrive("E");
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу