How to play a standard windows sound?

11,581

Solution 1

PlaySound is the API ,also see Play System Sounds

Solution 2

Not Win32, but for .net anyway, you can do this using the following in C#:

System.Media.SystemSounds.Asterisk.Play();
// Plays the Asterisk sound (used for Information (i))
// Also available:
// Exclamation (Warning /!\)
// Hand (aka Critical Stop - Error (X))
// Question (?)
// Beep (aka Default Beep)

Solution 3

Take a look at these articles:

Playing .wav files using C#

Creating Your Own Sound Alerts

Share:
11,581

Related videos on Youtube

Jack Fuchs
Author by

Jack Fuchs

.

Updated on September 17, 2020

Comments

  • Jack Fuchs
    Jack Fuchs over 3 years

    How do I find out which sound files the user has configured in the control panel?

    Example: I want to play the sound for "Device connected".

    Which API can be used to query the control panel sound settings?

    I see that there are some custom entries made by third party programs in the control panel dialog, so there has to be a way for these programs to communicate with the global sound settings.

    Edit: Thank you. I did not know that PlaySound also just played appropriate sound file when specifying the name of the registry entry.

    To play the "Device Conntected" sound:

    ::PlaySound( TEXT("DeviceConnect"), NULL, SND_ALIAS|SND_ASYNC );
    
  • Anthony
    Anthony about 15 years
    How about the other system sounds, like "Device connected" or "new mail"?
  • Nidonocu
    Nidonocu about 15 years
    @Anthony I don't think you can do that within .net. You'll need to use P/Invoke for that.

Related