2010-11-23 61 views
4

我在WPF窗口中有一個Frame元素,並且使用Frame.Navigate()加載了我的應用程序中的所有內容。但是,在導航到新頁面時,會默認播放該聲音,這與在Internet Explorer中播放的聲音相同。有什麼辦法可以從應用程序中轉換此聲音嗎?我不想在操作系統級別的控制面板中關閉設置。 謝謝。關閉WPF框架控件中的導航頁面聲音

編輯:我想唯一的辦法是改變操作系統級別的聲音,這可以在註冊表中完成。這對我來說是可接受的解決方案

http://social.msdn.microsoft.com/forums/en-us/vbgeneral/thread/843677F4-8F0B-46CB-986C-92E8042D0707

回答

3

似乎沒有其他的方式,只是在Windows設置中關閉等記載here

+0

HTTP ://social.msdn.microsoft.com/forums/en-us/vbgeneral/thread/843677F4-8F0B-46CB-986C-92E80 42D0707 – 2010-11-23 15:25:01

1

丹尼斯這裏 How to disable click sound in WebBrowser Control但對我來說沒有工作指出了一個解決方案。所以我修改了代碼,如下現在所有工作正常:

使用

URLSecurityZoneAPI.InternetSetFeatureEnabled(URLSecurityZoneAPI.InternetFeaturelist.DISABLE_NAVIGATION_SOUNDS, URLSecurityZoneAPI.SetFeatureOn.PROCESS, false); 

URLSecurityZoneAPI.vb

''' Enables or disables a specified Internet Explorer feature control 
''' Minimum availability: Internet Explorer 6.0 
''' Minimum operating systems: Windows XP SP2 
Imports System.Runtime.InteropServices 
Imports System.Security 
Imports System 

Friend Class URLSecurityZoneAPI 

    ''' <summary> 
    ''' Specifies where to set the feature control value 
    ''' http://msdn.microsoft.com/en-us/library/ms537168%28VS.85%29.aspx 
    ''' </summary> 
    Public Enum SetFeatureOn As Integer 
     THREAD = &H1 
     PROCESS = &H2 
     REGISTRY = &H4 
     THREAD_LOCALMACHINE = &H8 
     THREAD_INTRANET = &H10 
     THREAD_TRUSTED = &H20 
     THREAD_INTERNET = &H40 
     THREAD_RESTRICTED = &H80 
    End Enum 

    ''' <summary> 
    ''' InternetFeaturelist 
    ''' http://msdn.microsoft.com/en-us/library/ms537169%28v=VS.85%29.aspx 
    ''' </summary> 
    Public Enum InternetFeaturelist As Integer 
     OBJECT_CACHING = 0 
     ZONE_ELEVATION = 1 
     MIME_HANDLING = 2 
     MIME_SNIFFING = 3 
     WINDOW_RESTRICTIONS = 4 
     WEBOC_POPUPMANAGEMENT = 5 
     BEHAVIORS = 6 
     DISABLE_MK_PROTOCOL = 7 
     LOCALMACHINE_LOCKDOWN = 8 
     SECURITYBAND = 9 
     RESTRICT_ACTIVEXINSTALL = 10 
     VALIDATE_NAVIGATE_URL = 11 
     RESTRICT_FILEDOWNLOAD = 12 
     ADDON_MANAGEMENT = 13 
     PROTOCOL_LOCKDOWN = 14 
     HTTP_USERNAME_PASSWORD_DISABLE = 15 
     SAFE_BINDTOOBJECT = 16 
     UNC_SAVEDFILECHECK = 17 
     GET_URL_DOM_FILEPATH_UNENCODED = 18 
     TABBED_BROWSING = 19 
     SSLUX = 20 
     DISABLE_NAVIGATION_SOUNDS = 21 
     DISABLE_LEGACY_COMPRESSION = 22 
     FORCE_ADDR_AND_STATUS = 23 
     XMLHTTP = 24 
     DISABLE_TELNET_PROTOCOL = 25 
     FEEDS = 26 
     BLOCK_INPUT_PROMPTS = 27 
     MAX = 28 
    End Enum 


    ''' <summary> 
    ''' Set the internet feature enabled/disabled 
    ''' </summary> 
    ''' <param name="feature">The feature from <c>InternetFeaturelist</c></param> 
    ''' <param name="target">The target from <c>SetFeatureOn</c></param> 
    ''' <param name="enabled">enabled the feature?</param> 
    ''' <returns><c>true</c> if [is internet set feature enabled] [the specified feature]; otherwise, <c>false</c>.</returns> 
    Public Shared Function InternetSetFeatureEnabled(feature As InternetFeaturelist, target As SetFeatureOn, enabled As Boolean) As Boolean 
     Return (SafeNativeMethods.CoInternetSetFeatureEnabled(CInt(feature), CInt(target), enabled) = 0) 
    End Function 

    ''' <summary> 
    ''' Determines whether the internet feature is enabled. 
    ''' </summary> 
    ''' <param name="feature">The feature from <c>InternetFeaturelist</c></param> 
    ''' <param name="target">The target from <c>SetFeatureOn</c></param> 
    ''' <returns><c>true</c> if the internet feature is enabled; otherwise, <c>false</c>. 
    ''' </returns> 
    Public Shared Function IsInternetSetFeatureEnabled(feature As InternetFeaturelist, target As SetFeatureOn) As Boolean 
     Return (SafeNativeMethods.CoInternetIsFeatureEnabled(CInt(feature), CInt(target)) = 0) 
    End Function 

End Class 

<SuppressUnmanagedCodeSecurityAttribute()> 
Friend NotInheritable Class SafeNativeMethods 

    Private Sub New() 
    End Sub 

    ''' <summary> 
    ''' Enables or disables a specified feature control. 
    ''' http://msdn.microsoft.com/en-us/library/ms537168%28VS.85%29.aspx 
    ''' </summary>    
    <SecurityCritical, SuppressUnmanagedCodeSecurity, DllImport("urlmon.dll", ExactSpelling:=True)> 
    Friend Shared Function CoInternetSetFeatureEnabled(featureEntry As Integer, <MarshalAs(UnmanagedType.U4)> dwFlags As Integer, fEnable As Boolean) As <MarshalAs(UnmanagedType.[Error])> Integer 
    End Function 

    ''' <summary> 
    ''' Determines whether the specified feature control is enabled. 
    ''' http://msdn.microsoft.com/en-us/library/ms537164%28v=VS.85%29.aspx 
    ''' </summary> 
    <SecurityCritical, SuppressUnmanagedCodeSecurity, DllImport("urlmon.dll", ExactSpelling:=True)> 
    Friend Shared Function CoInternetIsFeatureEnabled(featureEntry As Integer, dwFlags As Integer) As <MarshalAs(UnmanagedType.[Error])> Integer 
    End Function 

End Class 

注意命名的類的添加SafeNativeMethods