Solved

Windows Beep

Posted on 2009-05-08
11
548 Views
Last Modified: 2013-12-17
I have read plenty of posts about people trying to stop the windows beep that occurs when you hit the enter key in a textbox that does not accept multiple lines, but I am trying to duplicate that tone.  Can anyone tell me how to duplicate the tone you get in a textbox when hitting the enter key????
0
Comment
Question by:gvector1
  • 8
  • 2
11 Comments
 
LVL 6

Expert Comment

by:Cebik
ID: 24340812
I'm searshing now how beep the same tone.

private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        Console.Beep();
}

Open in new window

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24340856
0
 

Author Comment

by:gvector1
ID: 24340868
I am not doing this within another method.  I have tried console.beep and it appears to use the internals of the pc to generate a tone as opposed to the windows tone generated through the speakers within the textbox.  I am wanting to duplicate the same sound.  What I have is a datagrid cell I am restricting text length.  If the text has reached maximum size, I want to generate that tone.
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 6

Expert Comment

by:Cebik
ID: 24340870
done :)

[DllImport("winmm.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
static extern bool PlaySound(string pszSound, IntPtr hMod, SoundFlags sf);
 
[Flags]
public enum SoundFlags : int
{
    SND_SYNC = 0x0000,  // play synchronously (default)
    SND_ASYNC = 0x0001,  // play asynchronously
    SND_NODEFAULT = 0x0002,  // silence (!default) if sound not found
    SND_MEMORY = 0x0004,  // pszSound points to a memory file
    SND_LOOP = 0x0008,  // loop the sound until next sndPlaySound
    SND_NOSTOP = 0x0010,  // don't stop any currently playing sound
    SND_NOWAIT = 0x00002000, // don't wait if the driver is busy
    SND_ALIAS = 0x00010000, // name is a registry alias
    SND_ALIAS_ID = 0x00110000, // alias is a predefined ID
    SND_FILENAME = 0x00020000, // name is file name
    SND_RESOURCE = 0x00040004  // name is resource name or atom
}
 
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
            PlaySound("SND_ALIAS_SYSTEMDEFAULT", IntPtr.Zero, SoundFlags.SND_ALIAS);
}

Open in new window

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24340873
0
 
LVL 3

Accepted Solution

by:
SalmanZG earned 500 total points
ID: 24340926
0
 
LVL 6

Expert Comment

by:Cebik
ID: 24340964
@SalmanZG:
wow :)
great
but there is no double sounds



private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        SystemSounds.Beep.Play();
        //PlaySound("SND_ALIAS_SYSTEMDEFAULT", IntPtr.Zero, SoundFlags.SND_ALIAS);
}

Open in new window

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24340981
now is

private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        SystemSounds.Beep.Play();
        Thread.Sleep(300);
        SystemSounds.Beep.Play();
    }
}

Open in new window

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24340997

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        SystemSounds.Beep.Play();
        Thread.Sleep(150);
        SystemSounds.Beep.Play();
        e.SuppressKeyPress = true;
    }
}

Open in new window

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24341002
@SalmanZG:

thank's for this !!!
:)
0
 

Author Closing Comment

by:gvector1
ID: 31579668
That is exactly what I was looking for.....Thanks
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question