Contrôler l'Autorun pour les CD audio
Télécharger le projet exemple
Vous en avez marre lorsque, à chaque fois que vous insérez un CD Audio, le lecteur CD se mette en route ? Ou alors depuis que vous avez installé un logiciel de gravure, cette fonctionnalité a disparu et vous manque ? Alors pas de panique, la solution se trouve dans la Base de Registre, dans les deux clés suivantes:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AudioCD\Shell HKEY_CLASSES_ROOT\AudioCD\Shell
La valeur sera une chaîne "play" si la fonction Autorun est activée.
L'exemple suivant montre comment lire et écrire ces valeurs:
Contrôler l'autorun pour les CD audio
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Registry;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure FormPaint(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
const
Verb = 'L''autorun pour les CD audio est ';
On = 'activé';
Off = 'désactivé';
var
Form1: TForm1;
function IsAudioCdAutoRunOn : bool;
procedure SetAudioCdAutoRun(bOn : bool);
implementation
{$R *.DFM}
function IsAudioCdAutoRunOn : bool;
var
reg: TRegistry;
Classes : string;
ClassesRoot : string;
i : integer;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Classes\AudioCD\Shell',
false);
Classes := reg.ReadString('');
reg.CloseKey;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.OpenKey('AudioCD\Shell',
false);
ClassesRoot := reg.ReadString('');
reg.CloseKey;
reg.free;
for i := 1 to length(Classes) do
Classes[i] := UpCase(Classes[i]);
for i := 1 to length(ClassesRoot) do
ClassesRoot[i] := UpCase(ClassesRoot[i]);
result := ((Classes = 'PLAY') and
(ClassesRoot = 'PLAY'));
end;
procedure SetAudioCdAutoRun(bOn : bool);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Classes\AudioCD\Shell',
false);
if bOn then
reg.WriteString('', 'play') else
reg.WriteString('', '');
reg.CloseKey;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.OpenKey('AudioCD\Shell',
false);
if bOn then
reg.WriteString('', 'play') else
reg.WriteString('', '');
reg.CloseKey;
reg.free;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
if IsAudioCdAutoRunOn then Label1.Caption := verb + On
else Label1.Caption := verb + Off;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetAudioCdAutoRun(true);
if IsAudioCdAutoRunOn then Label1.Caption := verb + On
else Label1.Caption := verb + Off;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetAudioCdAutoRun(False);
if IsAudioCdAutoRunOn then Label1.Caption := verb + On
else Label1.Caption := verb + Off;
end;
end.
3 requête(s) SQL executée(s) en 0.000 Secs - Temps total de génération de la page : 0.007 Secs
