RegSoundAnAus

Verweis: MaxLength
Uses: Registry
Eingabe: Anschalten true oder false: Boolean
Ausgabe: Gibt bei Erfolg True zurück
Funktion: Schaltet im Betriebssystem den Warnsound an oder aus.

Es kommt immer wieder mal vor, dass sich Benutzer über die Klänge von Windows ärgern. Am liebsten wollen Sie diese komplett ausschalten. Wenn Sie die in Ihrem Programm bewerkstelligen möchten, dann gibt es die Möglichkeit in dies über Ihr Programm in der Registry zu ändern.

//If RegSoundAnAus(True)=True then....;
function RegSoundAnAus(Anschalten: boolean): boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
    begin
      RootKey := HKEY_CURRENT_USER;
      OpenKey('\Control Panel\Sound', True);
      if Anschalten then
      begin
        WriteString('Beep', 'Yes');
        WriteString('ExtendedSounds', 'Yes');
      end;
      if Anschalten = False then
      begin
        WriteString('Beep', 'No');
        WriteString('ExtendedSounds', 'No');
      end;
      CloseKey;
    end;
    Result := True;
  except
    Result := False;
  end;
  Reg.Free;
end;

Aufruf 1

Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie ein TButton und ein TEdit auf die Form. Erstellen Sie ein OnClick-Ereignis für den TButton.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.MaxLength := 10;
  //Aufruf: Schalte den Systemsound an.
  //Wenn True dann zeige Fenster "Gelungen" an.
  if RegSoundAnAus(True) = True then ShowMessage('Gelungen');
end;

Wenn Sie nun das Programm ausführen dann können Sie den Sound wie im Beispiel systemweit anschalten. Dies hat in dem Beispiel zur Folge, dass sie bei der Eingabe von Daten bei dem Sie im Edit-Feld, 10 Zeichen nicht überschreiten dürfen ein Klang ertönt. Sobald sie das 11. Zeichen eingeben wollen erscheint ein Signalton bei angeschaltetem Signalton. Mit:

if RegSoundAnAus(false) = True then...

können Sie alle Signaltöne ausschalten. Das kann von Vorteil aber auch von Nachteil sein. Damit die Änderungen wirksam werden, muss sich der Benutzer abmelden. Beim nächsten Start von Windows sind die Einstellungen aktiv.

Diese Funktion habe ich mit Windows XP , 7 , 10 getestet.