我正在为我的应用程序开发一个错误报告工具,我想将硬件信息附加到错误报告中,以便更容易地查明某些问题。有谁知道任何 Win32 API 函数来查询操作系统以获取有关图形和声卡的信息?
谢谢,罗伯
如果您愿意深入研究 WMI,那么以下内容应该可以帮助您入门。
using System;
using System.Management;
namespace WMIData
{
class Program
{
static void Main(string[] args)
{
SelectQuery querySound = new SelectQuery("Win32_SoundDevice");
ManagementObjectSearcher searcherSound = new ManagementObjectSearcher(querySound);
foreach (ManagementObject sound in searcherSound.Get())
{
Console.WriteLine("Sound device: {0}", sound["Name"]);
}
SelectQuery queryVideo = new SelectQuery("Win32_VideoController");
ManagementObjectSearcher searchVideo = new ManagementObjectSearcher(queryVideo);
foreach (ManagementObject video in searchVideo.Get())
{
Console.WriteLine("Video device: {0}", video["Name"]);
}
Console.ReadLine();
}
}
}
发布后注意到它没有标记为 .NET,但这也可能很有趣。使用 C++ 创建 WMI 应用程序
我认为你最好的选择是 DirectSound API,记录在这里:http: //msdn.microsoft.com/en-us/library/bb219833%28VS.85%29.aspx
具体来说,是DirectSoundEnumerate调用。