1
C#2008C#檢測聲卡
我正在使用下面的代碼來確定用戶是否安裝了聲卡。我發現了兩種方法,並想知道一種是否比另一種更好。有沒有比我發佈的更好的東西?
我在Windows桌面上檢測到這個正在運行的XP,Vista和Seven。
非常感謝任何建議,
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"));
}
}
}