.net中如何获取机器硬件信息(防软件复制版)
|
最近帮人做个关于软件注册的东东,对方一定要防止大量复制和防止注册码通用,所以就想到用机器的硬件信息进行注册码的生成,所以就牵涉到在获取机器硬件信息。。。 在.net环境下(用VC#描述)获取机器的硬件信息,要用到一个类库(System.Management.dll),在解决方案资源管理器中添加System.Management 即可 我们可以将该程序编译成.dll文件,便于以后调用; 在程序代码中进行引用 using System.Management; 具体 代码为: 1.获取机器名: public string GetHostName() { return System.Net.Dns.GetHostName(); } 2.获取CPU编号 public string GetCpuId() { 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; } 3.获取主硬盘编号 public string GetMainHardDiskId() { string str="";ManagementClass mcHD=new ManagementClass("win32_logicaldisk");ManagementObjectCollection mocHD=mcHD.GetInstances();foreach(ManagementObject m in mocHD){if(m["DeviceID"].ToString()=="C:"){str=m["VolumeSerialNumber"].ToString();break;}} return str;} 4.获取bios和mac地址,这个有点复杂,需要用到NETAPI32.DLL另外补充:5.获取网卡的mac地址 using System.Management; Public string GetNetWorkAdapterID(){ string str=""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { if((bool)mo["IPEnabled"] == true) { //Console.WriteLine("MAC addresst{0}", mo["MacAddress"].ToString());str=mo["MacAddress"].ToString(); mo.Dispose(); } } return str;} --------------------------------------------- 如果系统提示找不到名字空间Management, 1. 在Solution Explorer中鼠标右键单击References,选择Add Reference… 2. 此时会弹出Add Reference对话框,选中.NET选项卡。 3. 选中System.Management,点select 4. 点击”OK”。 (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – LINQ to SQL分页和COUNT(*)
- 从Asp.Net MVC 6 API返回JSON错误
- 在IIS / ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
- asp.net Ajax之无刷新评论介绍
- asp.net-mvc – UpdateModel前缀 – ASP.NET MVC
- asp.net-mvc – MVC4部分视图没有将值加载到“容器”模型中
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET MVC3应用程
- asp.net-mvc – 为什么我在带有godaddy服务器的MVC3应用程序
- ASP.net Substitution 页面缓存而部分不缓存的实现方法
- 在ASP.NET RadioButtonList ListItem上设置CSS类
- ASP.NET网站管理系统退出 清除浏览器缓存,Sessio
- 序列化 – Newtonsoft中的TypeNameHandling需要$
- asp.net – 防止XSS(跨站脚本)
- asp.net-mvc-3 – RedirectResult Object作为URL
- asp.net-web-api – WebAPI:403在发布网站后被禁
- IIS和ASP.Net Web开发服务器之间的行为差异?
- asp.net – 双回发问题
- asp.net-mvc – MVC 5:Asp.net身份:如何建模Us
- Asp.net配合easyui实现返回json数据实例
