【发布时间】:2013-01-16 23:16:47
【问题描述】:
我需要开发一个 winform 应用程序,该应用程序从系统中读取附加的摄像头和麦克风名称,并使用单选框显示它,以便用户可以选择附加的麦克风和摄像头并进入下一个表单,其中视频会议召开......!!
但是,我无法读取系统的附加硬件名称..请提出一些方法..!!
【问题讨论】:
我需要开发一个 winform 应用程序,该应用程序从系统中读取附加的摄像头和麦克风名称,并使用单选框显示它,以便用户可以选择附加的麦克风和摄像头并进入下一个表单,其中视频会议召开......!!
但是,我无法读取系统的附加硬件名称..请提出一些方法..!!
【问题讨论】:
有一篇关于 CodeProject 的文章可能会有所帮助 - Retrieving Hardware Information in C#:
本文将解释如何使用 WMI 访问硬件信息和属性。它不会设置硬件的属性,只会检索有关它的信息。
WMI 引用Windows Management Instrumentation,大部分代码将使用System.Management 命名空间。
我编写的这个示例将显示您 PC 上的声音设备列表:
using System;
using System.Management;
using System.Management.Instrumentation;
namespace Test {
class TestClass {
[STAThread]
static void Main(string[] args) {
Console.WriteLine("Win32 SoundDevices\r\n===============================");
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from Win32_SoundDevice");
foreach (ManagementObject soundDevice in searcher.Get()) {
Console.WriteLine("Device found: {0}\n", soundDevice.ToString());
}
Console.WriteLine("Search complete.");
Console.Read();
}
}
}
您需要查看WMI Query Samples 以帮助您了解如何找到您要识别的设备。 Microsoft 也有一个 WMI Code Creator utility 可能会有所帮助:
WMI Code Creator 工具允许您生成 VBScript、C# 和 VB .NET 代码,这些代码使用 WMI 来完成管理任务,例如查询管理数据、执行 WMI 类中的方法或使用 WMI 接收事件通知.
【讨论】: