The easiest way to prevent Windows XP or Windows Server 2003 from beeping is to disable the Beep service.

I have scripted NoBeep.bat to disable the Beep service, and if it is started, stop it.

The syntax for using NoBeep.bat is:

NoBeep \[\\ComputerName\]

Where \\ComputerName is optional. If not specified, the action is performed on the local computer.

NoBeep.bat contains:

@echo off                              setlocal                              set command=sc query beep                              set qry=REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Beep                              set stop=sc stop beep                              if not \{%1\}

\{\} set command=sc %1 query beep if not \{%1\}

\{\} set stop=sc %1 stop beep if not \{%1\}==\{\} set qry=REG ADD %1\HKLM\SYSTEM\CurrentControlSet\Services\Beep @echo %qry% /V Start /T REG_DWORD /F /D 4 %qry% /V Start /T REG_DWORD /F /D 4 for /f "Tokens=*" %%a in ('%command%^|find " RUNNING"^|find "STATE"') do ( %stop% ) endlocal