Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Sys / System / Media / SystemSounds.cs / 1305376 / SystemSounds.cs
using System; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.None)] internal static extern bool MessageBeep(int type); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using System.Runtime.Versioning; 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)] [ResourceExposure(ResourceScope.None)] internal static extern bool MessageBeep(int type); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StylusOverProperty.cs
- IncrementalReadDecoders.cs
- Panel.cs
- TextBlockAutomationPeer.cs
- Repeater.cs
- RegisteredDisposeScript.cs
- FactoryId.cs
- HandledMouseEvent.cs
- DeferredSelectedIndexReference.cs
- TextElement.cs
- AliasGenerator.cs
- XamlBrushSerializer.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- HtmlLink.cs
- Point3DCollection.cs
- TracedNativeMethods.cs
- TableLayoutSettings.cs
- Memoizer.cs
- X509Certificate2.cs
- EncodingDataItem.cs
- WindowsSecurityToken.cs
- ToolStripGrip.cs
- TraceProvider.cs
- WizardForm.cs
- NativeMethods.cs
- AppDomainFactory.cs
- CategoryAttribute.cs
- DesignerToolStripControlHost.cs
- ConfigurationProviderException.cs
- LineGeometry.cs
- FixedSOMTable.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- EntitySqlQueryBuilder.cs
- PropVariant.cs
- RtfNavigator.cs
- PrinterResolution.cs
- ClientApiGenerator.cs
- StrokeCollection2.cs
- SrgsElementFactoryCompiler.cs
- RawUIStateInputReport.cs
- DuplicateWaitObjectException.cs
- SmiEventStream.cs
- HttpStaticObjectsCollectionBase.cs
- XmlSchemaAttribute.cs
- LocalizableAttribute.cs
- UserControl.cs
- SmtpTransport.cs
- KnownIds.cs
- SelectionService.cs
- VisualStates.cs
- LineServices.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- Error.cs
- TypeDescriptionProvider.cs
- InputMethodStateTypeInfo.cs
- TextCharacters.cs
- StateFinalizationDesigner.cs
- Stack.cs
- DifferencingCollection.cs
- ToolBar.cs
- Process.cs
- ReadOnlyHierarchicalDataSource.cs
- ModelFunction.cs
- AppLevelCompilationSectionCache.cs
- HttpConfigurationContext.cs
- ConfigurationPermission.cs
- WebAdminConfigurationHelper.cs
- CompilerTypeWithParams.cs
- NopReturnReader.cs
- DataServiceRequestOfT.cs
- ConvertersCollection.cs
- CharKeyFrameCollection.cs
- RootNamespaceAttribute.cs
- TemplateBindingExpressionConverter.cs
- WindowPatternIdentifiers.cs
- SqlExpander.cs
- CompilerTypeWithParams.cs
- CompilationLock.cs
- BrushMappingModeValidation.cs
- ObjectTypeMapping.cs
- TreeViewTemplateSelector.cs
- MessageDirection.cs
- ExpandSegmentCollection.cs
- List.cs
- ContentTextAutomationPeer.cs
- TdsEnums.cs
- BindingValueChangedEventArgs.cs
- CharacterBuffer.cs
- X509LogoTypeExtension.cs
- DataSourceComponent.cs
- ColorAnimationBase.cs
- OLEDB_Util.cs
- ProgramPublisher.cs
- ChannelProtectionRequirements.cs
- QuaternionAnimationBase.cs
- ToolbarAUtomationPeer.cs
- Padding.cs
- OpCodes.cs
- GiveFeedbackEventArgs.cs
- MarginsConverter.cs