请问在VB下怎样取硬盘的序列号??

LiaoCheng 2002-01-08 02:33:30
有什么办法可以得到硬盘的唯一序列号或是CPU的ID号,谢谢!!
...全文
242 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiaoCheng 2002-01-10
  • 打赏
  • 举报
回复
to:
dbcontrols(泰山)
liaocheng@yeah.net
谢谢!!
onlineboy 2002-01-10
  • 打赏
  • 举报
回复
我有
花了50大洋买来的
呵呵
有用
dbcontrols 2002-01-10
  • 打赏
  • 举报
回复
我有个DLL,留下信箱我发给你.
LiaoCheng 2002-01-10
  • 打赏
  • 举报
回复
收到!!谢谢
dbcontrols 2002-01-10
  • 打赏
  • 举报
回复
看信箱.
LiaoCheng 2002-01-09
  • 打赏
  • 举报
回复
帮忙顶一下~~~~~~
ByTheWay 2002-01-08
  • 打赏
  • 举报
回复
UPUPUPUUP~~~~~~~~~~~

LiaoCheng 2002-01-08
  • 打赏
  • 举报
回复
UPUPUPUUP~~~~~~~~~~~
LiaoCheng 2002-01-08
  • 打赏
  • 举报
回复
我要的是序列号,而不是卷标号,卷标号格式化以后就会变,而序列号是唯一的就像网卡ID
shuangyulove 2002-01-08
  • 打赏
  • 举报
回复
这都是没用的,只要格式化一下就变了
cy_nwau 2002-01-08
  • 打赏
  • 举报
回复
在DOS下显示的序列号好象是16进制的
LiaoCheng 2002-01-08
  • 打赏
  • 举报
回复
我的Email:
liaocheng@yeah.net
cool_man 2002-01-08
  • 打赏
  • 举报
回复
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
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long
Private Const FS_CASE_IS_PRESERVED = &H2
Private Const FS_CASE_SENSITIVE = &H1
Private Const FS_UNICODE_STORED_ON_DISK = &H4
Private Const FS_PERSISTENT_ACLS = &H8
Private Const FS_FILE_COMPRESSION = &H10
Private Const FS_VOL_IS_COMPRESSED = &H8000


Private Sub Command1_Click()

Dim Volume As String, SysName As String
Dim SerialNum As Long, SysFlags As Long, ComponentLength As Long, Res As Long
Dim SectorsPerCluster As Long, BytesPerSector As Long, NumberOfFreeClustors As Long, TotalNumberOfClustors As Long
Dim FreeBytes As Long, TotalBytes As Double, PercentFree As Long, Dl As Long
Volume = String(256, 0)
SysName = String(256, 0)
Dim DrvName As String
DrvName = "c:\"
Res = GetVolumeInformation(DrvName, Volume, 255, SerialNum, _
ComponentLength, SysFlags, SysName, 255)

msgbox "硬盘序列号为:"+Str(SerialNum)
End Sub

dbcontrols 2002-01-08
  • 打赏
  • 举报
回复
对不起发错地方了
dbcontrols 2002-01-08
  • 打赏
  • 举报
回复


Replace函数


描述

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法

Replace(expression, find, replacewith[, start[, count[, compare]]])

Replace函数语法有如下几部分:

部分 描述
expression 必需的。字符串表达式,包含要替换的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用来替换的子字符串。
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。


设置值

compare参数的设置值如下:

常数 值 描述
vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。


返回值

Replace的返回值如下:

如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null 一个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression.的复本。


说明

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
cy_nwau 2002-01-08
  • 打赏
  • 举报
回复
给我一份吗?chenyong.nwau@263.net
dbcontrols 2002-01-08
  • 打赏
  • 举报
回复
留下信箱
LiaoCheng 2002-01-08
  • 打赏
  • 举报
回复
有用的就一定给分啦
dbcontrols 2002-01-08
  • 打赏
  • 举报
回复
我有.给分吗?
LiaoCheng 2002-01-08
  • 打赏
  • 举报
回复
请问谁有这样的DLL?现成的有吗?
加载更多回复(4)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧