基于vfp的u盘物理序列号与盘符的获取

基于vfp的u盘物理序列号与盘符的获取

ID:15934100

大小:37.50 KB

页数:16页

时间:2018-08-06

 基于vfp的u盘物理序列号与盘符的获取_第1页
 基于vfp的u盘物理序列号与盘符的获取_第2页
 基于vfp的u盘物理序列号与盘符的获取_第3页
 基于vfp的u盘物理序列号与盘符的获取_第4页
 基于vfp的u盘物理序列号与盘符的获取_第5页
资源描述:

《 基于vfp的u盘物理序列号与盘符的获取》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取基于VFP的U盘物理序列号与盘符的获取‘^’一-?,._……±a…自∞…实用第一智慧密集…………….基于iVFP的U盘物理

2、序列号与盘符的获取王永国摘要:基于VisualFoxPr0环境,针对目前性价比高,可移性强的u盘,给出其物理序列号与对应盘符的析出算法.该方法在软件保护和共享软件注册等方面具有一定的应用市场.关键词:U盘;物理序列号;VFP;API1引言在软件保护和注册过程中,早期通常采用在软磁盘特殊部位读写一些特殊的信息来实现,近年来随着软磁盘逐渐从计算机标准配置淡出,又常利用机器的硬件标识,如硬盘序列号,CPU序列号,网卡Mac地址,BIOS序列号和主板序列号等物理信息【l1.这些方法即使用户信息和注册码均泄漏,由于不同计算机的硬盘序列号等物理信息都不一样,软件在其他的计算机上也不能

3、成功注册并使用,从而达到保护开发者利益的目的.但这些方法也存在着十分明显的缺点:软件与机器捆绑,可移动性差,用户使用不便,缺乏灵活性.鉴于VisualFoxPro(以下简称VFP)是微软公司开发的基于局域网环境的中,小型数据库系统,灵活方便,问世较早,在国内一度广为流行.时至今日仍有大批用户.但目前关于该语言的相关资料相对较少,作者注意到,互联网』二基于u盘的上述解决方案虽不难寻觅.但大多源于U盘的逻辑序列号或卷标号,易受U盘格式化,分区操作影响而失效;有些方法虽采用的是U盘的物理序列号,但是静态的而不是动态的,不能很好地保护软件;由于同一U盘在不同机器上的盘符不一样,有

4、时会需要读取指定U盘上的信息时却义难以固定盘符.针对上述问题,探讨将用户的灵活性需求与软件开发者的利益保护有机结合.寻找一条灵活有效的解决途径,无疑具有较好的应用市场.鉴于U盘也具有机器硬件的一些惟一性标识,且价位逐渐走低.因此,用U盘替代上述方案不失为一良策.经过大量的实验,给出了一种基于VisualFoxPro环境的U盘物理序列号与盘符的析出方法121,从而克服了前面各种方法的缺陷,较好地解决了上述问题.2设计思路目前获取U盘的物理信息主要有两种途径,一种是利用Windows的API(ApplicationProgrammingInterface)函数与注册表相结合:

5、另一种是微软的WMI(WindowsManagement与Instrumentation)方法.笔者经过实际使用发现API方法通用性较好,可适用于Windows98/2000/XP/Vista/7各种版本,而WMI方法简单.但在WindowsXP以下环境中使用时,需安装相应插件由于注册表包含了Windows在运行期间不断引用的信息,例如.每个用户的配置文件,计算机上安装的应用程序以及每个应用程序可以创建的文档类型,文件夹和应用程序图标的属性设置,系统上存在哪些硬件以及正在使用哪些端口等脚.因此.利用WindowsAPI函数和注册表相结合获取U盘的盘符是一种可行的方法.鉴于

6、任何在机器中使用过的U盘,只要操作系统不重装或注册表不清理,在注册表中都有记载.而数据备份或软件保护中常要求软件与某一指定U盘绑定.因此.必须实施动态措施.即每次运行程序都能主动识别U盘并读出其中的物理序列号,如没有找到指定U盘的物理序列号,则提示用户插入注册U盘,否则程序不能继续运行.经过分析,注册表中:HKEYLOCALMACHlNESYSTEMkCurrentControlSetkSer-viceskDiskEnum里面的键名为0,1,2…即是磁盘在系统中的序号,COUNT名为磁盘总数.如数据值前有IDE表示硬盘,USB.STOR表示U盘,相应的还有SCSI等.

7、如图l所示.图1注册表编辑器如果移去了其中的一个盘,那么.这里的键名马上会减少一个(注意:假设有3个磁盘,你移去的是中间的1.那么原来的2值也不会变成1).因USBSTOR厂商信息物理序列号的ParenldPrefix值”与“HKEY_LOCAL_MACHINEkSYSTEMkMountedDevices键下kDos—Devices”值的对应关系来找到盘符.笔者经过分析,发现Vista与Windows7没有ParenIdPrefix项,但可通过厂商信息物理序列号与DosDevices值中含有的厂商信息物理序列号对应来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。