Отваряне и затваряне на диска - Мултимедия - Програмиране на Visual Basic - интересни статии
Ако се напише програма, свързана с медиите, най-вероятно ще трябва да се отваря и затваря CD-ROM софтуер. Обикновено се препоръчва да се използва API-функция mciSendString на winmm.dll библиотека. Нейният декларация:
Тази функция изпраща команден ред мултимедийни устройства. Отворете отделението за диска, можете да:
Екип за управление на закриването:
Но какво, ако потребителят на компютъра има две (като имам) или CD-ROM диск? Предложените по-горе функции ще бъдат отворени-близо само едно устройство. В този случай, дойде в API-функция DeviceIoControl за помощ на ниско ниво. Тук е нейната декларация.
Както се вижда от декларацията, първия параметър на функцията - част от описание на желаното устройство за нас. Това може да се получи с помощта на прекрасна функция CreateFile.
Получената дръжката, когато тя вече не е необходима, не забравяйте да изключите чрез функцията CloseHandle:
Има една тънкост, когато се обаждате CreateFile - за задвижване на начина, по който трябва да добавите префикс пред "# 92; # 92; # 92; .." за функция "знае", че си имаме работа с едно устройство, а не на диск папка. По този начин, за буквата Е, параметър lpFileName ще има формата:
На първо място, ние заявяваме необходимите константи.
Но основният "Тайната", константи за DeviceIoControl. Тези стойности не са намерени в заглавните файлове. Те са получили от прилагането на специални макроси в Visual C ++ среда:
Сега, когато имаме всичко подготвени, напиши функция, която се отваря устройството (в случая на възвръщаемост False недостатъчност):
Затваря LoadCD диск. Тя ще се различават само по това, че вместо постоянно IOCTL_STORAGE_EJECT_MEDIA заместител IOCTL_STORAGE_LOAD_MEDIA.
Не е много лесно, но в действителност тя работи! След тестване на функции, можете да създадете един клас за работа с дискове, го включи в проекта на ActiveX DLL или EXE, изготвят, и да го забравя като кошмар.
Бъдете внимателни с DeviceIoControl на функция. Можете да го използвате, все повече и формат дискове. в постоянна грешка - и голяма здравей!