api函数里面有个函数和beep功能差不多。

解决方案 »

  1.   

    可以用API控制8255A  :p
      

  2.   

    http://expert.csdn.net/Expert/topic/2697/2697981.xml?temp=.4561579
      

  3.   

    调用的参数和VB中一样[DllImport("user32.dll")]
    private static extern int MessageBeep(int type) ;
      

  4.   

    这个可以播WAV,调用时Sound.Play(FILE_NAME);internal class Helpers 
    {
    [Flags]
    public enum PlaySoundFlags : 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 */
    } [DllImport("winmm.dll")]
    public static extern bool PlaySound( string szSound, IntPtr hMod, PlaySoundFlags flags );
    }
    public class Sound 
    {
    public static void Play( string strFileName )
    {
    Helpers.PlaySound( strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_FILENAME | Helpers.PlaySoundFlags.SND_ASYNC );
    }
    }