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

  • Anonymous
    November 07, 2005
    The comment has been removed
  • Anonymous
    November 07, 2005
    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
  • Anonymous
    November 07, 2005
    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."
  • Anonymous
    November 07, 2005
    Luka, interesting... That's a cool bug, IMHO (sndvol32 should set the SND_NODEFAULT flag, and it doesn't).
  • Anonymous
    November 07, 2005
    Oh, and I'm at home - I'm just guessing that's what sndvol32 does wrong based on the description.
  • Anonymous
    November 07, 2005
    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.
  • Anonymous
    November 08, 2005
    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.
  • Anonymous
    November 08, 2005
    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? :)
  • Anonymous
    November 09, 2005
    I get a beep everytime outlook 2003 recieves an email. I have no idea how to turn this off. My sound system works perfectly.

    Gregor
  • Anonymous
    November 09, 2005
    The comment has been removed