如何在ASP.NET中获取客户端的硬件信息!?
我做了如下的程序,最后发现是读取了服务器端的硬件信息了!我想问下如何获取客户端的信息!(不过下列程序在WinForm中是可以实现获取本地硬件信息的)
using System.Management;
private void btn_Auto_Click(object sender, System.EventArgs e)
{
//读取CPU信息
SelectQuery CPUQuery = new SelectQuery("Win32_Processor");
ManagementObjectSearcher CPUSearch = new ManagementObjectSearcher(CPUQuery);
foreach (ManagementObject CPUInfo in CPUSearch.Get())
{
txt_CPUType.Text=CPUFamily(CPUInfo["Family"].ToString().Trim());
txt_CPU.Text=CPUInfo["MaxClockSpeed"].ToString().Trim();
break;
}
//读取硬盘大小信息
SelectQuery HDDQuery = new SelectQuery("Win32_DiskDrive");
ManagementObjectSearcher HDDSearch = new ManagementObjectSearcher(HDDQuery);
foreach (ManagementObject HDDInfo in HDDSearch.Get())
{
txt_HDD.Text=Convert.ToString(Convert.ToUInt64(HDDInfo["Size"].ToString())/(1000*1000*1000));
break;
}
//读取显示卡信息
SelectQuery VCQuery = new SelectQuery("Win32_VideoController");
ManagementObjectSearcher VCSearch = new ManagementObjectSearcher(VCQuery);
foreach (ManagementObject VCInfo in VCSearch.Get())
{
txt_VGA.Text=VCInfo["Caption"].ToString().Trim();
break;
}
//读取声卡信息
SelectQuery ADQuery = new SelectQuery("Win32_SoundDevice");
ManagementObjectSearcher ADSearch = new ManagementObjectSearcher(ADQuery);
foreach (ManagementObject ADInfo in ADSearch.Get())
{
txt_Sound.Text=ADInfo["Caption"].ToString().Trim();
break;
}
//读取网卡信息
String tmpNet="";
SelectQuery NetQuery = new SelectQuery("Win32_NetworkAdapter");
ManagementObjectSearcher NetSearch = new ManagementObjectSearcher(NetQuery);
foreach (ManagementObject NetInfo in NetSearch.Get())
{
tmpNet+=NetInfo["Caption"].ToString().Trim()+";";
}
string[] ArrNet=tmpNet.Split(';');
txt_Net.Text=ArrNet[0].Substring(11,ArrNet[0].Length-11);
//读取操作系统信息
txt_OS.Text=Environment.OSVersion.ToString().Trim();
//读取光驱信息
String tmpCDROM="";
SelectQuery CDROMQuery = new SelectQuery("Win32_CDROMDrive");
ManagementObjectSearcher CDROMSearch = new ManagementObjectSearcher(CDROMQuery);
foreach (ManagementObject CDROMInfo in CDROMSearch.Get())
{
tmpCDROM+=CDROMInfo["Caption"].ToString().Trim()+";";
}
string[] ArrCDROM=tmpCDROM.Split(';');
txt_CDROM.Text=ArrCDROM[0];
//读取IP信息
IPHostEntry myIP = Dns.GetHostByName(Dns.GetHostName());
txt_IPAdd.Text=myIP.AddressList.GetValue(0).ToString();
//读取内存信息
int RAMTotal=0;
SelectQuery RAMQuery = new SelectQuery("Win32_LogicalMemoryConfiguration");
ManagementObjectSearcher RAMSearch = new ManagementObjectSearcher(RAMQuery);
foreach (ManagementObject RAMInfo in RAMSearch.Get())
{
RAMTotal+=Convert.ToInt32(RAMInfo["TotalPhysicalMemory"].ToString().Trim())/1024;
}
txt_RAM.Text=RAMSize(Convert.ToString(RAMTotal));
//读取显示器信息
}