When do you hear the beep?

The other day, I wrote about beep.sys

It turns out that Windows will still generate calls to beep.sys under certain circumstances.

The most common place you're likely to hear beep.sys is if there's a problem with your machines audio solution (either it's malfunctioning, the drivers aren't working, or its been disabled or removed).  In that case, then all calls to PlaySound will result in calls to Beep() (assuming that the system is configured to beep on playsound).

There's one other circumstance in which the system will play beeps, and that's for accessibility sounds. Accessibility events are typically associated with audio events - these allow a visually impaired user to recognize that an event of significance has occurred.

The PlaySound beep behavior is actually gated on a system parameter - you can call the SystemParametersInfo API to retrieve SPI_GETBEEP to retrieve whether the "warning beeper" is on. You can also disable the "warning beeper" by calling SystemParametersInfo with the SPI_SETBEEP flag.

Note that disabling the "warning beeper" has no affect on the accessibility sounds. those are generated regardless of the warning beep setting.

Comments (10)

  1. Anonymous says:

    I’ve found that disabling all sounds in Windows XP (via Sounds and Audio Devices/Sounds control panel applet, changing the sound scheme to No Sounds) makes the Volume control application to BEEP the PC Speaker when changing the master volume.

    there is a way to turn it off but it requires either Tweak XP or a registry hack

    what’s the point of BEEPing the same frequency/volume for every volume change?

  2. Anonymous says:

    Also, xxcopy will beep (perhaps just by printing 0x7, if that still works?) if you’re over your shareware date limit, as will several other console apps or warning dialogs.

    The funny part is that they carry through terminal server even when audio passthrough is disabled, so I’m working in silence and suddenly BEEP ahhh what!? =D

  3. It’s Hitchhiker’s Guide usability:

    "When you try and operate one of these weird black controls that are labeled in black on a black background a small black light lights up black to let you know you’ve done it."

  4. Luka, interesting… That’s a cool bug, IMHO (sndvol32 should set the SND_NODEFAULT flag, and it doesn’t).

  5. Oh, and I’m at home – I’m just guessing that’s what sndvol32 does wrong based on the description.

  6. Anonymous says:

    Virtual Server 2005 doesn’t emulate decent sound hardware in the guest OS, so any sound event resolves to a call to beep.sys in the host OS.

    Which is mightily annoying. Fortunately, you can use Device Manager disable the beep.sys driver with no ill effects.

  7. Anonymous says:

    Could it be that the sound generated when adding or removing hardware (e.g., PCMCIA cards) is also done via beep? I had a machine that would generate a noise _only_ when adding or removing cards.

  8. Anonymous says:

    ok so now that we’ve (by we I mean me) established it’s probably a bug, is there something we (by we I mean you) can do about it? 🙂

  9. Anonymous says:

    I get a beep everytime outlook 2003 recieves an email. I have no idea how to turn this off. My sound system works perfectly.


  10. Anonymous says:

    I have a colleague who, every now and then, accidentally dumps a binary file to some dos box program. It just sits there for several minutes beeping every time it comes across a ^G.

Skip to main content