.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 – axd和ashx处理程序之间的区别
- asp.net – 菜单控件生成的js导致Web窗体中的Sys未定义的异
- asp.net-mvc – 为什么ASP.NET MVC 4与IList for editor不能
- ASP.NET成员资格 – 让用户使用以前的密码
- asp.net – 如何使用resxresourcewriter写入所有三个值?
- asp.net-mvc-4 – 如何在asp.net MVC4查看页面中包含javasc
- asp.net – jquery getJson没有将任何值传递给控制器
- 遭遇Asp.Net长文件名下载的问题和解决办法
- asp.net-mvc – SSL安全SaaS应用程序的URL设计
- asp.net-mvc – 如何在ASP.NET MVC中使用单选模式创建ListB
- asp.net – 下载列表asp mvc
- asp.net – Orchard CMS Media中的文件大小上传限
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序
- asp.net-mvc-3 – 是否可能获得一个ASP.NET MVC
- asp.net – 我怎么知道我的应用程序中是否需要“
- asp.net-mvc-routing – 在MVC 6控制器中使用url
- asp.net-mvc-2 – ASP.NET MVC 2并列为隐藏值?
- asp.net-mvc-3 – 实体框架乐观并发异常未发生
- 编辑并在ASP.NET Web项目中继续
- asp.net-mvc-3 – 如何避免使用MVC3 FileContent