Brad Abram’s has been posting some
killer design guidelines on his blog which you should check out, and I also noticed
he posted a useful sample with
different message beep types.  Scott Hanselman also included his sample from the
Portland user group.  Below is another easy way to do the PC beep which
requires a reference to the Microsoft.VisualBasic assembly: 



Comments (1)

  1. One interesting think about your thought to use Microsoft.VisualBasic.Interaction.Beep() is that if you decompile Microsoft.VisualBasic.dll you see two things:

    1. It demands some UI permissions (smart) in managed code, and then….

    2. It calls User32.dll’s MessageBeep anyway!

    .method assembly static pinvokeimpl("user32" unicode winapi)
    int32 MessageBeep(int32 uType) cil managed preservesig