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
- SchemaConstraints.cs
- IIS7UserPrincipal.cs
- ToolStripItemImageRenderEventArgs.cs
- CTreeGenerator.cs
- RegisteredHiddenField.cs
- ValueChangedEventManager.cs
- ExpressionVisitor.cs
- SoapAttributeAttribute.cs
- MouseBinding.cs
- SystemDropShadowChrome.cs
- NativeCppClassAttribute.cs
- DecimalConverter.cs
- BinaryReader.cs
- BufferedOutputStream.cs
- Attributes.cs
- MachineKeySection.cs
- ToolStripInSituService.cs
- SRGSCompiler.cs
- CounterSample.cs
- Opcode.cs
- ToolStripDropDownItem.cs
- NotImplementedException.cs
- CompositeScriptReferenceEventArgs.cs
- ToolStripOverflowButton.cs
- EnumMember.cs
- RemotingClientProxy.cs
- CodeTypeReferenceExpression.cs
- Serializer.cs
- Command.cs
- Decimal.cs
- HitTestResult.cs
- SoapObjectInfo.cs
- ConfigXmlWhitespace.cs
- TemplatePagerField.cs
- TextRangeBase.cs
- SafeCryptoHandles.cs
- EmptyTextWriter.cs
- DiagnosticsConfiguration.cs
- InvalidCastException.cs
- EventlogProvider.cs
- HeaderUtility.cs
- RequestBringIntoViewEventArgs.cs
- UrlMappingCollection.cs
- CryptoStream.cs
- _NegoStream.cs
- CodeArgumentReferenceExpression.cs
- KoreanCalendar.cs
- DataGridBoolColumn.cs
- BinaryObjectWriter.cs
- TiffBitmapEncoder.cs
- SortDescription.cs
- CodeGotoStatement.cs
- TypeInitializationException.cs
- XmlBoundElement.cs
- GetWinFXPath.cs
- DbModificationCommandTree.cs
- DocumentViewerAutomationPeer.cs
- WebSysDefaultValueAttribute.cs
- Point3DCollectionValueSerializer.cs
- PatternMatchRules.cs
- ToolBarDesigner.cs
- LineServicesCallbacks.cs
- XsdBuildProvider.cs
- SettingsPropertyNotFoundException.cs
- ImageAttributes.cs
- MeasureData.cs
- UnsafeCollabNativeMethods.cs
- TextViewSelectionProcessor.cs
- ToolStripItemRenderEventArgs.cs
- EnterpriseServicesHelper.cs
- SecurityKeyIdentifierClause.cs
- TransformProviderWrapper.cs
- MatrixTransform.cs
- BitConverter.cs
- Opcode.cs
- GenericRootAutomationPeer.cs
- BuildManager.cs
- RegexStringValidatorAttribute.cs
- HttpsHostedTransportConfiguration.cs
- DocumentCollection.cs
- DictionaryEntry.cs
- UserControlCodeDomTreeGenerator.cs
- SelectorAutomationPeer.cs
- sqlstateclientmanager.cs
- SubqueryRules.cs
- ImageListUtils.cs
- CellRelation.cs
- WeakRefEnumerator.cs
- StoryFragments.cs
- HtmlInputFile.cs
- CompensationExtension.cs
- HtmlListAdapter.cs
- MatrixValueSerializer.cs
- CodeCatchClauseCollection.cs
- ConnectionStringSettings.cs
- XmlAutoDetectWriter.cs
- WorkflowTimerService.cs
- Vector3D.cs
- HyperLink.cs
- StringInfo.cs