Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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);
}
}
}
// 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.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);
}
}
}
// 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
- CharEntityEncoderFallback.cs
- SelectionItemProviderWrapper.cs
- InputProviderSite.cs
- ServiceDescriptionReflector.cs
- ViewStateAttachedPropertyFeature.cs
- TableLayoutStyleCollection.cs
- CompilerGeneratedAttribute.cs
- MetadataItem_Static.cs
- PropertyGrid.cs
- WindowsProgressbar.cs
- DeclarativeConditionsCollection.cs
- keycontainerpermission.cs
- KernelTypeValidation.cs
- InputBindingCollection.cs
- StaticDataManager.cs
- BooleanExpr.cs
- EventWaitHandle.cs
- manifestimages.cs
- Types.cs
- Timeline.cs
- XmlDeclaration.cs
- X509CertificateTrustedIssuerElementCollection.cs
- SafeBuffer.cs
- XamlSerializer.cs
- OdbcDataReader.cs
- TextSimpleMarkerProperties.cs
- DocumentSchemaValidator.cs
- SafeRightsManagementSessionHandle.cs
- LinkArea.cs
- SchemaDeclBase.cs
- NamedPipeWorkerProcess.cs
- BindingMemberInfo.cs
- DataRelationPropertyDescriptor.cs
- GeneralTransformGroup.cs
- HtmlInputImage.cs
- CompatibleIComparer.cs
- COAUTHIDENTITY.cs
- CacheMemory.cs
- JsonReaderDelegator.cs
- Tuple.cs
- XamlSerializerUtil.cs
- GridViewHeaderRowPresenter.cs
- ConfigurationProperty.cs
- SchemaImporterExtension.cs
- DropSource.cs
- MemoryRecordBuffer.cs
- RemoteWebConfigurationHostServer.cs
- PreviewPageInfo.cs
- ProbeDuplexCD1AsyncResult.cs
- HttpProfileBase.cs
- TraceContext.cs
- Size3DConverter.cs
- IdleTimeoutMonitor.cs
- _SingleItemRequestCache.cs
- WindowsListViewItemStartMenu.cs
- HandlerBase.cs
- JsonEnumDataContract.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- CertificateManager.cs
- TextTreeInsertUndoUnit.cs
- SectionXmlInfo.cs
- PathSegmentCollection.cs
- RenderingEventArgs.cs
- MailDefinition.cs
- TouchEventArgs.cs
- EdmError.cs
- XmlLanguage.cs
- HMACSHA384.cs
- RIPEMD160.cs
- EntityAdapter.cs
- SynchronizedKeyedCollection.cs
- SubMenuStyle.cs
- HandoffBehavior.cs
- SymbolMethod.cs
- PropertyGridView.cs
- ListChangedEventArgs.cs
- GPStream.cs
- RuleProcessor.cs
- DetailsViewModeEventArgs.cs
- LabelLiteral.cs
- DiscreteKeyFrames.cs
- EllipseGeometry.cs
- RemotingService.cs
- EventMappingSettings.cs
- ObjectDataSourceDesigner.cs
- SimpleLine.cs
- TransformerInfoCollection.cs
- MessageEnumerator.cs
- ValidatingReaderNodeData.cs
- WebPartVerbsEventArgs.cs
- ObjectItemCollection.cs
- WaitHandleCannotBeOpenedException.cs
- XmlToDatasetMap.cs
- FlowDocumentPage.cs
- ObjectTag.cs
- Stackframe.cs
- FilterElement.cs
- ExpressionVisitor.cs
- IndentTextWriter.cs
- AdornedElementPlaceholder.cs