CD-ROM/CD-R/CD-RW
Code: |
var DriveType: UInt;
DriveType := GetDriveType(PChar('F:\')); if DriveType = DRIVE_CDROM then ShowMessage('Сидюк'); |
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Можно использовать функцию Windows API GetDriveType() чтобы определить является ли дисковод CD-ROM'мом. И функцию API GetVolumeInformation() чтобы проверить VolumeName на равенство 'Audio CD'.
Пример:
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
CD может иметь или не иметь серийный номер и/или универсальный код продукта (Universal Product Code). MCI-расширение Windows предоставляет эту информации с помощью комманды MCI_INFO_MEDIA_IDENTITY command. Эта команда возвращает уникальную ID-строку.
Пример:
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Code: |
function GetNumberOfCDDrives: Byte; var drivemap, mask: DWORD; i: integer; root: string; begin Result := 0; root := 'A:\'; drivemap := GetLogicalDrives; mask := 1; for i := 1 to 32 do begin if (mask and drivemap) <> 0 then if GetDriveType(PChar(root)) = DRIVE_CDROM then begin Inc(Result); end; mask := mask shl 1; Inc(root[1]); end; end;
procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := IntToStr(GetNumCDDrives); end; |
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Некоторые приложения должны знать, когда пользователь вставляет или удаляет компакт-диска или DVD-диска с компакт-дисков без
опрос для медиа-изменений. Windows предоставляет способ уведомить об этом приложения через сообщение WM_DEVICECHANGE.
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Как это сделать через WMI я вроде разобрался.
Только не нравиться мне, что приходится перебирать в цикле все свойства
Win32_CDROMDrive. Может кто знает как сразу к конкретному свойству обратиться, т.е.
избавиться от строки "while PropEnum.Next(1, TempObj, Value) = S_OK do"
Вот рабочий пример для D7.
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Вступление
Наконец, я решился на написание этой статьи, идея пришла давно, но полностью систематизировать решился только сегодня. Сегодня мы не будем рассматривать конкретного взлома. На это есть две причины:
1) У меня начал глючить CD-ROM, пора менять
2) Статья получилась бы слишком длинной
В принципе вторая причина меня волнует мало, но первая встала доста- точно остро.
- Подробности
- Родительская категория: Работа с железом
- Категория: CD-ROM/CD-R/CD-RW
Страница 2 из 2