开发手记(六)——共享软件注册程序编写实例(2)

-为保证文章完整性,谢绝对某篇而非全部手记的转载(mi6236)
Option Explicit
Private Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
  ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
  lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
  lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
  ByVal nFileSystemNameSize As Long) As Long '等到某一磁盘分区的信息
'************注册窗体*****************
’运用另一个***.mdb来控制软件是否超出试用期
Private Sub Form_Load()
 '根据C盘序列号得到原ID
  Dim Driver, VolName, Fsys As String
  Dim volNumber, MCM, FSF As Long
  Driver = "c:"
  Dim res As Long
  Dim localid As Long
  res = GetVolumeInformation(Driver, VolName, 127, volNumber, MCM, FSF, Fsys, 127)
  '将c盘序列号加密并显示在注册窗体的本机码中
  localid = *****volNumber***** '加密算法
  Text1.Text = localid'显示经加密后的本机码
End Sub
Private Sub cancel_Click()
     On Error GoTo error
     '检测系统文件夹是否有***.mdb文件,如果没有,则是系统第一次安装,建立此数据库文件
     If Dir(sPath & "***.**") = "" Then
         Dim ws As Workspace
         Dim db As Database

时间: 2024-10-04 12:38:34

开发手记(六)——共享软件注册程序编写实例(2)的相关文章

开发手记(六)——共享软件注册程序编写实例(3)

Microsoft公司在Windows NT3.51开始提出了注册表(Registry)的概念.注册表是Windows的一个重要组成部分,它保存了Windows中的各种配置参数.Windows的各个功能模块和安装的应用模块,在启动时都要读取注册表的信息,并根据这些参数来设置自己的运行环境,我们就可以把注册信息写入注册表来实现程序的共享注册.在VB中,有两种方法可以访问注册表:第一种是使用VB提供的函数: Private Sub Command1_Click() Dim KeyName as St

基于Asterisk的VoIP开发指南——(2)Asterisk AGI程序编写指南

原文:基于Asterisk的VoIP开发指南--(2)Asterisk AGI程序编写指南 5. Asterisk AGI程序编写指南    5.1概述 很多时候,我们需要在拨号方案中做某些业务逻辑的判断或者外部数据库的查询,根据具体地需要,有几种做法: 1.使用Asterisk的通道变量.Goto函数.Gotoif函数等实现某些简单跳转,通过几个这样的函数的组合,实现简单的业务. 2.对终端接入用户的呼叫请求中的某些属性,进行简单的数据库增删改查,在Asterisk官方发布的asterisk-

Android系统中的蓝牙连接程序编写实例教程_Android

Bluetooth结构1.JAVA层 frameworks/base/core/java/android/bluetooth/ 包含了bluetooth的JAVA类. 2.JNI层 frameworks/base/core/jni/android_bluetooth_开头的文件 定义了bluez通过JNI到上层的接口. frameworks/base/core/jni/android_server_bluetoothservice.cpp 调用硬件适配层的接口system/bluetooth/b

Android系统中的蓝牙连接程序编写实例教程

Bluetooth结构 1.JAVA层 frameworks/base/core/java/android/bluetooth/ 包含了bluetooth的JAVA类. 2.JNI层 frameworks/base/core/jni/android_bluetooth_开头的文件 定义了bluez通过JNI到上层的接口. frameworks/base/core/jni/android_server_bluetoothservice.cpp 调用硬件适配层的接口system/bluetooth/

PHP编写学校网站上新生注册登陆程序的实例分享_php实例

就弄了三个页面: (1).新生信息注册模块(register.php): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text

开心网辅助程序开发手记(三):实现停车功能

在前面的两篇手记中,较为详细的介绍了如何借助工具对网页进行分析及如何编写代码实现一些简单的功能.如果还有后续手记,笔者将只简单记录<开心网辅助程序>开发过程中碰都的主要问题及解决方法. 在这篇手记中,笔者将简单描述如何实现简单的停车功能,并且制作一个简单的界面用于呈现系列手记的开发成果. 一.识别好友私家车位中的免费车位:把车停到免费车位中可是会分文无收到,所以千万不能把车停到免费车位上了. 通过Firebug调试发现,当玩家点击"争车位"中部Flash中的停车按钮时,pa

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机          "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力.         在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确

开心网辅助程序开发手记(二):获取好友私家车位信息

在上篇手记<开心网辅助程序开发手记>中,简单记录了如何登录开心网,获取"争车位"的相关数据:玩家(泊车者)信息.玩家车辆停车信息.玩家私家车位停车情况等.在这篇手记中,将简单描述如和获取玩家好友信息及玩家私家车位停车情况.话不多说,进入正文. 一.获取玩家好友信息 其实在上篇手记中,有提到v_frienddata变量,其实玩家好友信息就是以JSON格式保存在该变量里的,我们只需要写好对应的实体,再利用Json.NET做个转换就可以了.由于上篇没有详细介绍如何使用Json.N

开心网辅助程序开发手记

声明:本人只在业余空闲时间写写<开心网辅助程序>,目的只是学习! 由于之前有写过类似的程序,也写过相关的文章介绍过(C#网站登录学习笔记(一):登录简单网站.C#网站登录学习笔记(二):访问需登录后才能访问的页面),这次写起"开心网辅助程序"也可以算是得心应手了,直接从电脑中翻出尘封已久的HttpHelper(前面提到的两篇文章就是居于这个操作类进行的),稍微分析了一下网页结构(争车位),就写起程序来了! 在开始写手记前,让我们看看写这样的"外挂"程序需