#Samurai
Изучающий
- Регистрация
- 16 Сен 2017
- Сообщения
- 421
- Лучшие ответы
- 0
- Репутация
- 229
Взаимодействие с CD/DVD приводом.
[HR][/HR]
Подключаем пространство имён для работы с DLL библиотеками
Для работы с текстом
Для работы с типом, который используется для представления указателя и дескриптора да и системными функциями вовсе
[HR][/HR]
Теперь помещаем этот код в необходимый класс, в моём случае это Program
Открытие привода
Закрытие привода
Пример работы:
[HR][/HR]
Подключаем пространство имён для работы с DLL библиотеками
PHP:
using System.Runtime.InteropServices;
PHP:
using System.Text;
PHP:
using System;
Теперь помещаем этот код в необходимый класс, в моём случае это 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 - буква привода
Пример работы:
PHP:
public static void Main()
{
// Открываем привод, где E - буква привода
OpenDrive("E");
// Ждём 5 секунд
System.Threading.Thread.Sleep(5000);
// Закрываем привод
CloseDrive("E");
}