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
- RecognizerInfo.cs
- Restrictions.cs
- DataGridViewColumnDesigner.cs
- PageVisual.cs
- _FtpControlStream.cs
- ImageIndexConverter.cs
- BitmapMetadata.cs
- SignatureHelper.cs
- PointKeyFrameCollection.cs
- SynchronizedDispatch.cs
- PluggableProtocol.cs
- WindowsFormsSynchronizationContext.cs
- ListView.cs
- UrlSyndicationContent.cs
- SchemaImporterExtensionElement.cs
- WebPartZoneBase.cs
- DateTimeValueSerializer.cs
- OperationDescriptionCollection.cs
- EventDescriptorCollection.cs
- DetailsViewUpdateEventArgs.cs
- QuestionEventArgs.cs
- BaseCAMarshaler.cs
- Track.cs
- SafeNativeMethods.cs
- VBIdentifierNameEditor.cs
- SudsParser.cs
- TimeStampChecker.cs
- DeclarationUpdate.cs
- RegexGroupCollection.cs
- SQLBinaryStorage.cs
- ConfigurationStrings.cs
- CultureData.cs
- EntityProviderFactory.cs
- NetPeerTcpBindingElement.cs
- HtmlValidatorAdapter.cs
- ScrollBarAutomationPeer.cs
- DataGridViewSelectedCellCollection.cs
- SecuritySessionSecurityTokenAuthenticator.cs
- ValidationErrorEventArgs.cs
- LayoutInformation.cs
- InstanceNameConverter.cs
- DataViewListener.cs
- DoubleAnimationUsingKeyFrames.cs
- MdbDataFileEditor.cs
- Vector3D.cs
- BitStack.cs
- XmlIgnoreAttribute.cs
- BitmapData.cs
- ActivityCollectionMarkupSerializer.cs
- LocalizableResourceBuilder.cs
- StorageScalarPropertyMapping.cs
- StringCollection.cs
- Win32KeyboardDevice.cs
- ExpressionBuilder.cs
- ListDictionaryInternal.cs
- FontFamilyValueSerializer.cs
- Baml6Assembly.cs
- Queue.cs
- Button.cs
- PlatformCulture.cs
- DBNull.cs
- MemberAssignmentAnalysis.cs
- CaseCqlBlock.cs
- xml.cs
- SchemaEntity.cs
- BindingMemberInfo.cs
- EDesignUtil.cs
- DesignerRegion.cs
- ConfigurationStrings.cs
- WinInetCache.cs
- ClientProtocol.cs
- TreeNodeClickEventArgs.cs
- Error.cs
- Utils.cs
- TextAction.cs
- ScriptHandlerFactory.cs
- ExecutionContext.cs
- UpdateCommand.cs
- HttpModulesSection.cs
- DrawingContextWalker.cs
- Missing.cs
- StrokeNodeEnumerator.cs
- MsmqIntegrationMessageProperty.cs
- HttpListener.cs
- HttpHandlersSection.cs
- PeerName.cs
- StringUtil.cs
- HtmlPanelAdapter.cs
- UrlPath.cs
- ProgressBarBrushConverter.cs
- InputDevice.cs
- DataControlButton.cs
- MemberRelationshipService.cs
- ToolboxItemFilterAttribute.cs
- PaintEvent.cs
- UserControlBuildProvider.cs
- hwndwrapper.cs
- Html32TextWriter.cs
- WinFormsUtils.cs
- PerfCounters.cs