类HardInfoClass代码如下
using System;
using System.Net;
using System.Runtime.InteropServices;
using System.Management; //需要在解决方案中引用System.Management.DLL文件
namespace FileTransLate.PCStatus
{
/// <summary>
/// HardInfoClass 的摘要说明。
/// </summary>
public class HardInfoClass
{
[DllImport("kernel32.dll")]
private static extern int GetVolumeInformation(
string lpRootPathName,
string lpVolumeNameBuffer,
int nVolumeNameSize,
ref int lpVolumeSerialNumber,
int lpMaximumComponentLength,
int lpFileSystemFlags,
string lpFileSystemNameBuffer,
int nFileSystemNameSize
);
public HardInfoClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//取机器名
public string GetHostName()
{
return System.Net.Dns.GetHostName();
}
//取CPU编号
public string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null ;
foreach( ManagementObject mo in moc )
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}//end method
//取第一块硬盘编号
public string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null ;
foreach(ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID ;
}
catch
{
return "";
}
}
//获取网卡MAC地址
public string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC= MC.GetInstances();
foreach(ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
//获取硬盘信息的代码
public string GetVolOf(string drvID)
{
try
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a =0;
int b =0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(
drvID + @":\",
str1,
MAX_FILENAME_LEN,
ref retVal,
a,
b,
str2,
MAX_FILENAME_LEN
);
return retVal.ToString("x");
}
catch
{
return "";
}
}
//获取当前网卡IP地址
public string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC= MC.GetInstances();
foreach(ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[]) MO["IPAddress"];
if(IPAddresses.Length > 0)
stringIP = IPAddresses[0].ToString();
}
}
return stringIP;
}
catch
{
return "";
}
}
}
}
引用自:http://blog.csdn.net/xiaotuni/archive/2008/01/05/2027178.aspx
分享到:
相关推荐
C#获取本地计算机的硬件信息源代码 C#获取本地计算机的硬件信息 C#获取计算机的硬件信息 WinForm获取硬件信息源代码 WinForm获取硬件信息
这是一个关于使用.NET4.0框架开发的获取Windows系统硬件信息的项目工程,已经完整实现了电脑硬件信息的获取,方便大家一起使用。
原创 C#获取计算机各种硬件设备的序列号 (包括CPUID 硬盘IF,网卡ID)
这是一个使用C#简单三层的架构、实现获取本地计算机硬件信息的demo、用到的基础知识点有: 1、三层架构的开发思想、以及层次之间的引用关系 2、ADO.NET对数据库的操作 3、单例模式 4、C#中的API获取计算机硬件信息 5...
调用本地摄像头来获取动作状态,利用c#编程语言,wpf框架
平时做的一个C#。NET的取得硬件信息的小程序,是NET2005的。
1、用C#的exe程序,搭建HTTPS监听,可用于静态网站、接口、模拟Web...3、如:web界面上调用http://localhost:xx/+参数,调用本地硬件、本地缓存(内存或文件,可 代替cookies)、打开本地程序、调用打印机、扫码墩....
内置前端html页面,通过js调用web socket方法示例,获取读卡器,条码打印机,以及usb端扫码枪服务
0770 如何获取本地计算机上所有的进程 469 0771 如何启动一个进程 470 0772 怎样杀死一个进程 470 0773 如何获取远程计算机上所有的进程 470 17.7 其他相关技术 470 0774 如何在注册表中保存窗体的大小和...
目的:让服务器上的WEB页面获取收银机电脑上电子秤串口的数据 使用技术:node 的 websocket 与 serialport、html nodejs 是部署在收银机电脑上的,如果是多台电脑使用同一个端口就行了,文档中说明有误
13.3.5 获取本地磁盘中文件的图标 327 13.3.6 获取FTP服务器中的所有文件 329 13.3.7 批量上传文件 333 13.3.8 批量下载文件 337 13.3.9 删除FTP中的文件或文件夹 340 第14章 魔法兔子模块 14.1 概述 ...
111 <br>0184 如何在ASP.NET中获取文件的扩展名 111 <br>0185 如何在ASP.NET中用URL在页面之间传值 112 <br>0186 如何使用IsPostBack实现ASP.NET页面加载 112 <br>0187 如何利用输出缓存技术缓存...
13.3.5 获取本地磁盘中文件的图标 13.3.6 获取FTP服务器中的所有文件 13.3.7 批量上传文件 13.3.8 批量下载文件 13.3.9 删除FTP中的文件或文件夹 第14章 魔法兔子模块 14.1 概述 14.2 关键技术 14.2.1 获取进程...
13.3.5 获取本地磁盘中文件的图标 13.3.6 获取FTP服务器中的所有文件 13.3.7 批量上传文件 13.3.8 批量下载文件 13.3.9 删除FTP中的文件或文件夹 第14章 魔法兔子模块 14.1 概述 14.2 关键技术 14.2.1 获取进程...
C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...
13.3.5 获取本地磁盘中文件的图标 13.3.6 获取FTP服务器中的所有文件 13.3.7 批量上传文件 13.3.8 批量下载文件 13.3.9 删除FTP中的文件或文件夹 第14章 魔法兔子模块 14.1 概述 14.2 关键技术 14.2.1 获取进程...
foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下: foreach (type identifier in expression) statement 若要循环访问集合,集合必须满足特定的...