CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

在vb中如何得到唯一id,用什么函数?急在线等待

楼主nuaalfm(方明)2003-09-04 18:44:53 在 VB / 基础类 提问

在vb中如何得到唯一id,用什么函数 问题点数:100、回复次数:10Top

1 楼litaoa(青云)回复于 2003-09-04 19:15:34 得分 10

唯一id????是指硬盘的还CPU的?Top

2 楼rainstormmaster(暴风雨 v2.0)回复于 2003-09-04 19:20:58 得分 40

用API函数GetVolumeInformation:  
   
  模块:  
  Option   Explicit  
   
  Public   Declare   Function   GetVolumeInformation&   Lib   "kernel32"   Alias   "GetVolumeInformationA"   (ByVal   lpRootPathName   As   String,   ByVal   pVolumeNameBuffer   As   String,   ByVal   nVolumeNameSize   As   Long,   lpVolumeSerialNumber   As   Long,   lpMaximumComponentLength   As   Long,   lpFileSystemFlags   As   Long,   ByVal   lpFileSystemNameBuffer   As   String,   ByVal   nFileSystemNameSize   As   Long)  
  Public   Const   MAX_FILENAME_LEN   =   256  
   
   
  Public   Function   DriveSerial(ByVal   sDrv   As   String)   As   Long  
  Dim   RetVal   As   Long  
  Dim   str   As   String   *   MAX_FILENAME_LEN  
  Dim   str2   As   String   *   MAX_FILENAME_LEN  
  Dim   a   As   Long  
  Dim   b   As   Long  
   
          Call   GetVolumeInformation(sDrv   &   ":\",   str,   MAX_FILENAME_LEN,   RetVal,   a,   b,   str2,   MAX_FILENAME_LEN)  
          DriveSerial   =   RetVal  
  End   Function  
   
  窗体:  
  Option   Explicit  
   
  Private   Sub   Command1_Click()  
          MsgBox   DriveSerial(Left(Drive1.Drive,   1))  
  End   Sub  
  Top

3 楼rainstormmaster(暴风雨 v2.0)回复于 2003-09-04 19:22:47 得分 10

上面的得到的是硬盘的序列号Top

4 楼rainstormmaster(暴风雨 v2.0)回复于 2003-09-04 19:25:27 得分 10

序列号是写在磁盘的引导区的,不同的文件系统略有不同。可以通过直接读取磁盘的相关区域来修改,而不需要格式化。对于FAT分区,可以使用DOS中断Int   21h的440DH功能的46H子功能来设置序列号。这在VB中不容易实现,但在其它软件中可以实现。所以序列号作为加密的依据不是特可靠。但现在的确有很多软件都利用序列号来生成注册号,因为毕竟大多数人都无法修改序列号。    
  Top

5 楼WQ771211(SyanSea)回复于 2003-09-04 19:27:47 得分 5

网卡号+时间+硬盘序列号+随机数Top

6 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2003-09-04 19:59:15 得分 5

可以通过创建Guid的方法来创建唯一的ID:  
  http://www.applevb.com/sourcecode/guid.zipTop

7 楼shawls(VB Fan)(QQ:9181729)回复于 2003-09-04 20:02:08 得分 5

get   the   guid,4x128Top

8 楼rainstormmaster(暴风雨 v2.0)回复于 2003-09-04 20:34:12 得分 10

http://vip.6to23.com/NowCan1/tech/diskid.htmTop

9 楼5653325(等待开刃的刀)回复于 2003-09-04 21:30:49 得分 5

一般都是用硬件得唯一序列号进行换算得到得吧Top

10 楼KJ_Wang(Java Every Day)回复于 2003-09-04 23:08:13 得分 0

什么样的ID?Top

相关问题

  • VB函数
  • vb函数
  • 请问:如何自编函数生成唯一的ID
  • 怎么在VB中调用CoCreateGUID这个API函数,我想生成一个唯一的标识符
  • VB的两个小函数?
  • Delphi和VB API函数
  • VB乘方函数?在线
  • Windows或者Delphi有没有函数可以针对一台电脑生成一个唯一的ID?
  • object_id()函数的问题
  • Delphi中的类似vb中的函数mid是什么函数?

关键词

  • 函数
  • vb
  • 序列号
  • driveserial
  • longdim
  • 唯一
  • getvolumeinformation
  • byval
  • 得到
  • max

得分解答快速导航

  • 帖主:nuaalfm
  • litaoa
  • rainstormmaster
  • rainstormmaster
  • rainstormmaster
  • WQ771211
  • TechnoFantasy
  • shawls
  • rainstormmaster
  • 5653325

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo