C# WebBrowser и звук
Янв 21st, 2010 by Umax
Это первый пост, описывающий мои извращения с компонентом WebBrowser, когда я пытался заставить его работать так, как я хочу.
Все кто, хоть раз запускал IE 7 или 8 знает, что когда в нем страница загружается, то он издает специфический звук. Однако, если в программе есть компонент WebBrowser, который автоматически обновляется, то постоянное клацанье раздражает. Чтобы побороть этот звук, я нашел и переделал кусок кода, которым с вами поделюсь:
using Microsoft.Win32;
class IESound
{
private static string MusicFilePath;
private static void GetMusicFilePath()
{
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"AppEvents\Schemes\Apps\Explorer\Navigating\.Current");
MusicFilePath = (string)key.GetValue(null);
}
///
/// Включение/выключение звуков в браузере
///
public static bool Enabled
{
get
{
return String.IsNullOrEmpty(MusicFilePath) == false && MusicFilePath != "\"\"";
}
set
{
string keyValue = string.Empty;
if (String.IsNullOrEmpty(MusicFilePath))
{
GetMusicFilePath();
}
if (value)
{
keyValue = MusicFilePath;
}
else
{
keyValue = "\"\"";
}
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"AppEvents\Schemes\Apps\Explorer\Navigating\.Current", true);
key.SetValue(null, keyValue, RegistryValueKind.ExpandString);
}
}
}
При загрузке программы выключайте звук, при завершении программы – включайте, однако если программа вылетит, то звук потеряется
И еще, когда звук выключен, то он выключается не только в вашей программе, но и в IE тоже, а также при хождению по папкам через Windows Explorer. Нормального пути выключить звук я не нашел, хотя долго искал.