软件注册与加密(2)

实例470 利用网卡序列号设计软件注册程序
实例说明
文本框:图16.8  软件注册本实例实现了利用本机网卡序列号生成软件注册码的功能。运行程序,自动获得本机网卡序列号,单击【生成注册码】按钮,生成软件注册码,将注册码依次输入下面的文本框,单击【注册】按钮实现软件注册功能。实例运行结果如图16.8所示。
技术要点
实现本实例功能主要用到了Microsoft.Win32命名空间下的Registry类的CurrentUser属性、RegistryKey类的OpenSubKey( )方法、GetSubKeyNames( )方法、SetValue( )方法、CreateSubKey( )方法、System.Management命名空间下的ManagementClass类的GetInstances( )方法、ManagementObjectCollection类和ManagementObject类。Microsoft.Win32命名空间下的类和方法在第16章实例469中已经做过介绍,这里不再详细说明,下面主要对System.Management命名空间及该命名空间下的类进行详细介绍。
(1)System.Management命名空间
提供对大量管理信息和管理事件集合的访问,这些信息和事件是与根据Windows管理规范 (WMI)结构对系统、设备和应用程序设置检测点有关的。
(2)ManagementClass类
表示公共信息模型(CIM)管理类。管理类是一个WMI类,如Win32_LogicalDisk和Win32_Process,前者表示磁盘驱动器,后者表示进程(如Notepad.exe)。
语法格式为:
public class ManagementClass : ManagementObject
(3)GetInstances( )方法
返回该类的所有实例的集合。
语法格式为:
public ManagementObjectCollection GetInstances ()
l     返回值:表示该类实例的ManagementObject对象的集合。
(4)ManagementObjectCollection类
基于指定的查询检索管理对象的集合。此类是用于检索管理信息的较为常用的入口点之一。例如,可以用于枚举系统中的所有磁盘驱动器、网络适配器、进程及更多管理对象,或者用于查询所有处于活动状态的网络连接以及暂停的服务等。
(5)ManagementObject类
表示 WMI 实例。
实现过程
(1)新建一个Windows应用程序,将其命名为Ex16_08,默认窗体为Form1。
(2)在Form1窗体中添加4个TextBox控件、3个Button控件和6个Label控件。其中,TextBox控件用输入注册码,Button控件用来执行注册、退出和生成注册码操作,Label控件用于显示计算机名称、网卡序列号、软件注册码和一些提示信息等。
(3)主要程序代码。
获得网卡序列号和计算机名称的实现代码如下:
private void Form1_Load(object sender, EventArgs e)
        {
            label2.Text = Environment.MachineName.ToString();//得到计算机名
            label4.Text = GetNetCardMacAddress();//得到网卡信息
        }
        //获得网卡信息函数
       public string GetNetCardMacAddress()
        {   
           ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
           ManagementObjectCollection moc = mc.GetInstances();
            string str = "";
            foreach (ManagementObject mo in moc)
            {
                 if ((bo
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值