Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Sys / System / Media / SystemSounds.cs / 1 / SystemSounds.cs
using System;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Security.Permissions;
namespace System.Media {
///
[HostProtection(UI = true)]
public sealed class SystemSounds {
static SystemSound asterisk;
static SystemSound beep;
static SystemSound exclamation;
static SystemSound hand;
static SystemSound question;
private SystemSounds() {
}
///
public static SystemSound Asterisk {
get {
if (asterisk == null) {
asterisk = new SystemSound(NativeMethods.MB_ICONASTERISK);
}
return asterisk;
}
}
///
public static SystemSound Beep {
get {
if (beep == null) {
beep = new SystemSound(0);
}
return beep;
}
}
///
public static SystemSound Exclamation {
get {
if (exclamation == null) {
exclamation = new SystemSound(NativeMethods.MB_ICONEXCLAMATION);
}
return exclamation;
}
}
///
public static SystemSound Hand {
get {
if (hand == null) {
hand = new SystemSound(NativeMethods.MB_ICONHAND);
}
return hand;
}
}
///
public static SystemSound Question {
get {
if (question == null) {
question = new SystemSound(NativeMethods.MB_ICONQUESTION);
}
return question;
}
}
private class NativeMethods {
// Constructor added because of FxCop rules
private NativeMethods() {}
internal const int MB_ICONHAND = 0x000010,
MB_ICONQUESTION = 0x000020,
MB_ICONEXCLAMATION = 0x000030,
MB_ICONASTERISK = 0x000040;
}
}
///
[HostProtection(UI = true)]
public class SystemSound {
private int soundType;
internal SystemSound(int soundType) {
this.soundType = soundType;
}
///
[SuppressMessage("Microsoft.Security", "CA2106:SecureAsserts")]
public void Play() {
IntSecurity.UnmanagedCode.Assert();
try {
SafeNativeMethods.MessageBeep(soundType);
} finally {
System.Security.CodeAccessPermission.RevertAssert();
}
}
private class SafeNativeMethods {
// Constructor added because of FxCop rules
private SafeNativeMethods() {}
[DllImport(ExternDll.User32, ExactSpelling=true, CharSet=System.Runtime.InteropServices.CharSet.Auto)]
internal static extern bool MessageBeep(int type);
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MembershipValidatePasswordEventArgs.cs
- ObservableDictionary.cs
- invalidudtexception.cs
- NeutralResourcesLanguageAttribute.cs
- WebResourceAttribute.cs
- ListViewHitTestInfo.cs
- MimeTextImporter.cs
- MatrixConverter.cs
- XamlUtilities.cs
- NonceCache.cs
- WpfPayload.cs
- MachineKeyConverter.cs
- DbConnectionFactory.cs
- TimeSpanSecondsConverter.cs
- XmlElementElement.cs
- FixedTextPointer.cs
- RecognizedPhrase.cs
- DesignerActionMethodItem.cs
- IPEndPoint.cs
- WebPartManagerInternals.cs
- Win32Interop.cs
- COM2ICategorizePropertiesHandler.cs
- TextSelection.cs
- SmiRequestExecutor.cs
- OutOfMemoryException.cs
- Rect3DValueSerializer.cs
- ConditionalAttribute.cs
- sqlnorm.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- wgx_sdk_version.cs
- StorageMappingItemCollection.cs
- SignedInfo.cs
- DocumentGrid.cs
- PageCache.cs
- KnownTypeAttribute.cs
- CompilationAssemblyInstallComponent.cs
- TargetException.cs
- XmlReader.cs
- XmlWrappingReader.cs
- AccessDataSourceView.cs
- NonSerializedAttribute.cs
- EqualityComparer.cs
- BridgeDataRecord.cs
- TransactedBatchingElement.cs
- DesignerSerializationManager.cs
- User.cs
- DataGridViewHitTestInfo.cs
- XmlSerializer.cs
- RevocationPoint.cs
- SettingsAttributeDictionary.cs
- XsltConvert.cs
- SqlClientFactory.cs
- WebEventCodes.cs
- ObjectReaderCompiler.cs
- ConnectionStringsExpressionBuilder.cs
- HttpRuntime.cs
- Rotation3DAnimation.cs
- RelationshipEnd.cs
- CustomValidator.cs
- HtmlListAdapter.cs
- ComplusEndpointConfigContainer.cs
- brushes.cs
- assertwrapper.cs
- CacheModeValueSerializer.cs
- ListViewItemEventArgs.cs
- ColumnHeader.cs
- AnimatedTypeHelpers.cs
- CodeTypeReferenceCollection.cs
- TransactionContextManager.cs
- SimpleApplicationHost.cs
- EmptyImpersonationContext.cs
- HtmlTableCell.cs
- CodeConditionStatement.cs
- cookieexception.cs
- WebConvert.cs
- MatcherBuilder.cs
- ParseNumbers.cs
- BitmapEffect.cs
- ColorContextHelper.cs
- VersionPair.cs
- safex509handles.cs
- RadioButton.cs
- AsyncResult.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PreviewPageInfo.cs
- InputBuffer.cs
- ListControlConvertEventArgs.cs
- XamlReaderHelper.cs
- LinqDataSourceInsertEventArgs.cs
- Visual3D.cs
- ArithmeticException.cs
- DynamicArgumentDesigner.xaml.cs
- EditableRegion.cs
- CachedBitmap.cs
- DbDataReader.cs
- ElementFactory.cs
- mediapermission.cs
- ZoomPercentageConverter.cs
- XmlParser.cs
- PathFigure.cs