C#2008C#サウンドカードの検出
以下のコードを使用して、サウンドカードをインストールしているかどうかを確認しています。私は2つの方法を見つけて、一方が他方よりも優れているのか疑問に思っています。私が投稿したものより優れたものはありますか?
私は、このXP、Vista、および7を実行しているWindowsデスクトップ上で検出しています。何かアドバイスのため
多くのおかげで、
public partial class Form1 : Form
{
[DllImport("winmm.dll", SetLastError = true)]
public static extern uint waveOutGetNumDevs();
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
if (waveOutGetNumDevs() != 0)
{
Console.WriteLine("The sound card is detected");
}
else
{
Console.WriteLine("No sound card");
}
}
private void button1_Click(object sender, EventArgs e)
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("Select ProductName from Win32_SoundDevice");
foreach (ManagementObject device in searcher.Get())
{
Console.WriteLine("Sound card {0}",
device.GetPropertyValue("ProductName"));
}
}
}