Geminiに教えて貰った。
Win11のCMDで動く。
コンパネがサウンドoffになっていても、PCの音量設定に従って動作
(注)Delphi 14用。現行版ではSysUtilsなどの前に、WinAPI.を付ける必要がある(他にもそういう箇所がある)。
program CustomBeep;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows; // Windows API を使用するために必須begin
try
// コントロールパネルが無音でも、このAPIは強制的に音を鳴らします
// 構文: Windows.Beep(周波数Hz, 長さミリ秒);
// パターン1: 小気味いい「ピピッ」という2回音
Windows.Beep(2000, 100);
Sleep(50); // 100ミリ秒の無音挟み
Windows.Beep(1500, 100);
Sleep(50); // 100ミリ秒の無音挟み
Windows.Beep(1700, 100);
Sleep(500); // 100ミリ秒の無音挟み
// パターン2: 昔のVAXやパソコン起動時の「ピィッ」という短い音
Windows.Beep(1000, 200);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
でもcmdからPowershellを呼び出して鳴らしても良いのかも。スピーチも出来るかな。
powershell -Command "[Console]::Beep(1800, 200)"
powershell -Command "Add-Type -AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('こんにちは。コマンドプロンプトからお邪魔します。')"












