İşte bu küçük problemi nasıl çözdüm.
Bu basit sınıfı projenize ekleyin. Artık benim kişisel kütüphanesinin parçası ama
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace MyCSharpLibrary
{
public class Volume
{
[DllImport("winmm.dll")]
public static extern int waveOutGetVolume(IntPtr h, out uint dwVolume);
[DllImport("winmm.dll")]
public static extern int waveOutSetVolume(IntPtr h, uint dwVolume);
private static uint _savedVolumeLevel;
private static Boolean VolumeLevelSaved = false;
// ----------------------------------------------------------------------------
public static void On()
{
if (VolumeLevelSaved)
{
waveOutSetVolume(IntPtr.Zero, _savedVolumeLevel);
}
}
// ----------------------------------------------------------------------------
public static void Off()
{
waveOutGetVolume(IntPtr.Zero, out _savedVolumeLevel);
VolumeLevelSaved = true;
waveOutSetVolume(IntPtr.Zero, 0);
}
}
}
Şimdi
Volume.Off();
MessageBox.Show("\n Information \n", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
Volume.On();
sonra çağıran MessageBox ve Volume.On() önce Volume.Off() çağrısı tercihim
projenizde doğrudan sınıf ekleyebilir Bu yaklaşım, Windows'da değişiklik yapmak zorunda olmadığımdan ve MessageBox'larım için istediğim simgeleri seçebildiğim için.
ben aynı problem vardı ama çok basit bir şekilde bunu düzeltmek başardı yaşlı olmak bu soruya rağmen
Tek tek mesaj kutusu için bunu kontrol etmenin bir yolu olmadığına inanıyorum; Bu bir pencere ayarı. Bu soru süperuser.com'a ait mi? – dtb
Sadece programım için bip sesini çıkartmak için yazabileceğim bir C# kodu olup olmadığını soruyordum. Sadece sistemime özgü bir ayar istemiyordum. Sorumu açıklayacağım. –