Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Включен ли автозапуск CD

Delphi , Файловая система , CD-ROM

Включен ли автозапуск CD

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure TForm1.SetCDAutoRun(AAutoRun: Boolean);
 const
   DoAutoRun: array[Boolean] of Integer = (0, 1);
 var
   Reg: TRegistry;
 begin
   try
     Reg := TRegistry.Create;
     Reg.RootKey := HKEY_LOCAL_MACHINE;
     if Reg.KeyExists('System\CurrentControlSet\Services\Class\CDROM') then
     begin
       if Reg.OpenKey('System\CurrentControlSet\Services\Class\CDROM', False) then
         Reg.WriteBinaryData('AutoRun', DoAutoRun[AAutoRun], 1);
     end
   finally
     Reg.Free;
   end;
   ShowMessage('Your settings will take effect on the next reboot of Windows.');
 end;

Here is the translation of the text into Russian:

Процедура Delphi под названием SetCDAutoRun позволяет включать или отключать функцию автоматического запуска для CD в Windows.

Вот разбивка того, что код делает:

  1. Процедура принимает параметр boolean AAutoRun, который указывает, нужно ли включить (true) или отключить (false) функцию автоматического запуска.
  2. Код использует класс TRegistry для взаимодействия с реестром Windows.
  3. Код проверяет, существует ли ключ реестра "System\CurrentControlSet\Services\Class\CDROM". Если он есть, то открывает подключение к нему и записывает двоичное значение в него с помощью метода WriteBinaryData.
  4. Двоичное значение устанавливается в 0 или 1 в зависимости от значения параметра AAutoRun. Это соответствует значениям в массиве DoAutoRun.
  5. Код выводит сообщение о том, что настройки вступят в силу после следующего перезапуска Windows.

Массив DoAutoRun используется как таблица для поиска, чтобы преобразовать логическое значение параметра AAutoRun в целочисленное значение (0 или 1), которое можно записать в реестр.

Вот альтернативное решение с более современным и компактным подходом:

procedure TForm1.SetCDAutoRun(AAutoRun: Boolean);
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('System\CurrentControlSet\Services\Class\CDROM', False) then
      Reg.WriteInteger('AutoRun', AAutoRun);
  finally
    Reg.Free;
  end;
  ShowMessage('Ваши настройки вступят в силу после следующего перезапуска Windows.');
end;

В этом варианте я использовал метод WriteInteger, чтобы записать одиночное целочисленное значение (0 или 1) напрямую в реестр, а не использовать массив и двоичные данные. Это делает код более простым и легче для чтения.

В статье описывается процедура, позволяющая включать или отключать автозапуск CD-rom на компьютере с помощью Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: CD-ROM ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:20:35/0.0054218769073486/1