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
- ObjectDataSourceStatusEventArgs.cs
- StaticExtensionConverter.cs
- ControlIdConverter.cs
- MexHttpBindingElement.cs
- Stacktrace.cs
- WindowVisualStateTracker.cs
- ResourceIDHelper.cs
- VectorConverter.cs
- DataGridViewCellCancelEventArgs.cs
- StackBuilderSink.cs
- ThicknessKeyFrameCollection.cs
- ByteStream.cs
- ContentOperations.cs
- CurrentChangingEventArgs.cs
- BinaryObjectReader.cs
- SingletonInstanceContextProvider.cs
- TypeExtensionConverter.cs
- EntityContainerEmitter.cs
- MappingException.cs
- HelpInfo.cs
- MultipleViewPattern.cs
- PageThemeCodeDomTreeGenerator.cs
- SystemInfo.cs
- XmlSerializerFactory.cs
- WindowCollection.cs
- WebHttpBindingElement.cs
- DocumentXmlWriter.cs
- FixedSOMPageElement.cs
- XmlILModule.cs
- CompoundFileDeflateTransform.cs
- ProxyDataContractResolver.cs
- RankException.cs
- DispatchChannelSink.cs
- QilSortKey.cs
- HostnameComparisonMode.cs
- SafeRegistryHandle.cs
- DocumentPaginator.cs
- IISMapPath.cs
- ConnectionPoint.cs
- ZipIOCentralDirectoryBlock.cs
- DesignerOptions.cs
- SqlXmlStorage.cs
- DocumentApplication.cs
- PageClientProxyGenerator.cs
- CompilerCollection.cs
- XmlIlGenerator.cs
- Evidence.cs
- WebPartZone.cs
- Int16.cs
- XhtmlBasicSelectionListAdapter.cs
- ProgressBarRenderer.cs
- Matrix3DConverter.cs
- ImpersonationContext.cs
- MetabaseSettings.cs
- Preprocessor.cs
- SimpleBitVector32.cs
- SynchronizationContext.cs
- OutputBuffer.cs
- RadioButtonList.cs
- ArraySortHelper.cs
- PresentationAppDomainManager.cs
- ComponentChangedEvent.cs
- ActiveXHelper.cs
- SortExpressionBuilder.cs
- TableAdapterManagerNameHandler.cs
- EFDataModelProvider.cs
- GenericPrincipal.cs
- XmlStreamedByteStreamReader.cs
- XslVisitor.cs
- ResourceReader.cs
- MultiSelector.cs
- DesignerActionVerbItem.cs
- Operator.cs
- SafeFileMappingHandle.cs
- SafeMILHandle.cs
- InteropBitmapSource.cs
- SafeEventLogReadHandle.cs
- BidPrivateBase.cs
- HttpContext.cs
- SizeF.cs
- UrlAuthFailureHandler.cs
- FilterableAttribute.cs
- TagMapCollection.cs
- ExpressionCopier.cs
- LogEntrySerializationException.cs
- Emitter.cs
- FontFamily.cs
- SplitterEvent.cs
- SQLInt32Storage.cs
- GPRECTF.cs
- MultipartContentParser.cs
- CursorInteropHelper.cs
- XmlSerializationGeneratedCode.cs
- WindowsIdentity.cs
- DigestTraceRecordHelper.cs
- StylusPointCollection.cs
- CodeDomSerializer.cs
- TimeSpanHelper.cs
- TiffBitmapDecoder.cs
- InfoCardXmlSerializer.cs