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