如何在ASP.NET中获取客户端的硬件信息!?

lanfzx 2005-09-13 04:21:09
我做了如下的程序,最后发现是读取了服务器端的硬件信息了!我想问下如何获取客户端的信息!(不过下列程序在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));
//读取显示器信息
}
...全文
968 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pangyong0221 2005-12-06
  • 打赏
  • 举报
回复
qwerttyy 2005-12-06
  • 打赏
  • 举报
回复
帮顶
vivianfdlpw 2005-12-06
  • 打赏
  • 举报
回复
<script>
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetDrive("c")
alert("这是C盘序号:"+ f.SerialNumber)
</script>
nightlocus 2005-12-06
  • 打赏
  • 举报
回复
帮你定,up
lanfzx 2005-09-13
  • 打赏
  • 举报
回复
public string CPUFamily(string Family)
{
String ProcessType;
switch(Family)
{
case "1":
ProcessType="Other";
break;
case "2":
ProcessType="Celeron 4";
break;
case "11":
ProcessType="Pentium brand";
break;
case "12":
ProcessType="Pentium Pro";
break;
case "13":
ProcessType="Pentium II";
break;
case "14":
ProcessType="Pentium processor with MMX technology ";
break;
case "15":
ProcessType="Celeron";
break;
case "16":
ProcessType="Pentium II Xeon";
break;
case "17":
ProcessType="Pentium III ";
break;
case "18":
ProcessType="M1 Family ";
break;
case "19":
ProcessType="M2 Family ";
break;
case "24":
ProcessType="K5 Family ";
break;
case "25":
ProcessType="K6 Family ";
break;
case "26":
ProcessType="K6-2";
break;
case "27":
ProcessType="K6-3";
break;
case "28":
ProcessType="AMD Athlon Processor Family ";
break;
case "29":
ProcessType="AMD Duron Processor";
break;
case "30":
ProcessType="AMD2900 Family ";
break;
case "31":
ProcessType="K6-2+ ";
break;
case "32":
ProcessType="Other";
break;
case "176":
ProcessType="Pentium III Xeon ";
break;
case "177":
ProcessType="Pentium III Processor with Intel SpeedStep Technology ";
break;
case "178":
ProcessType="Pentium 4 ";
break;
case "179":
ProcessType="Intel Xeon ";
break;
case "182":
ProcessType="AMD AthlonXP Family ";
break;
case "183":
ProcessType="AMD AthlonMP Family ";
break;
case "190":
ProcessType="AMD Opteron Family";
break;
default:
ProcessType="AMD Opteron Family";
break;
}
return ProcessType;
}

public string RAMSize(string Size)
{
int intSize = Convert.ToInt32(Size);
if(0<intSize&&intSize<=32)
{
intSize = 32;
}
if(32<intSize&&intSize<=64)
{
intSize = 64;
}
if(64<intSize&&intSize<=96)
{
intSize = 96;
}
if(96<intSize&&intSize<=128)
{
intSize = 128;
}
if(128<intSize&&intSize<=192)
{
intSize = 192;
}
if(192<intSize&&intSize<=256)
{
intSize = 256;
}
if(256<intSize&&intSize<=384)
{
intSize = 384;
}
if(384<intSize&&intSize<=512)
{
intSize = 512;
}
if(512<intSize&&intSize<=768)
{
intSize = 768;
}
if(768<intSize&&intSize<=1024)
{
intSize = 1024;
}
String retSize = Convert.ToString(intSize);
return retSize;
}

62,241

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧