function HasCDRecorder: Boolean;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
// set the the Mainkey,
reg.RootKey := HKEY_CURRENT_USER;
// Open a key
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning', False);
// Check if the Key exists
Result := reg.ValueExists('CD Recorder Drive');
// Close the key
reg.CloseKey;
finally
// and free the TRegistry Object
reg.Free;
end;
end;
// Example:
procedure TForm1.Button1Click(Sender: TObject);
begin
if HasCDRecorder then
ShowMessage('CD-Recorder available.')
else
ShowMessage('CD-Recorder NOT available.');
end;
Код написан на Delphi и использует Windows Registry для проверки наличия устройства записи CD на системе.
Вот шаг за шагом, как работает код:
Функция HasCDRecorder создает объект TRegistry, который используется для взаимодействия с Windows Registry.
Она устанавливает корневой ключ в HKEY_CURRENT_USER, что относится к реестру текущего пользователя.
Она открывает подключку, называемую Software\Microsoft\Windows\CurrentVersion\Explorer\CD Burning.
Она проверяет, существует ли значение, называемое CD Recorder Drive, в этой подключке с помощью метода ValueExists.
Если значение существует, то это означает, что устройство записи CD есть на системе, и функция возвращает True. В противном случае она возвращает False.
Пример кода в конце фрагмента демонстрирует, как использовать эту функцию. Он создает обработчик события клика по кнопке, который проверяет наличие устройства записи CD с помощью функции HasCDRecorder. Если устройство доступно, то отображается сообщение "CD-Recorder available". В противном случае отображается сообщение "CD-Recorder NOT available".
Альтернативное решение - использовать функцию Windows API GetCDBurningSupported вместо чтения из реестра. Эта функция возвращает значение, указывающее, поддерживается ли запись CD на системе.
Этот код более компактен и платформо-независим, так как он основан на native Windows API-функции, а не на чтении из реестра.
Статья описывает способ проверки, может ли CD-устройство записывать на языке Delphi, используя функцию HasCDRecorder и Registry.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.