GetVolumeInformation为什麽VolumeSerialNumber在Windows98中运行时总为0?
'GetVolumeInformation参数
Private lpRootPathName As String
Private lpVolumeNameBuffer As String '* 12 '磁盘卷标
Private nVolumeNameSize As Long '*12'磁盘卷标长度
Private VolumeSerialNumber As Long '磁盘序列号
Private MaximumComponentLength As Long
Private lpFileSystemNameBuffer As String '* 10 '文件系统的名称
Private nFileSystemNameSize As Long '10'文件系统的名称长度
Private FileSystemFlags As Long
Public sRootPathName As String '要取磁盘号的磁盘
Private lReturn As Long 'API返回
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
Public Function GetVolumeSerialNumber(ByVal RootPathName As String) As Long
lpRootPathName = RootPathName
nVolumeNameSize = 12
nFileSystemNameSize = 10
lReturn = GetVolumeInformation(lpRootPathName, lpVolumeNameBuffer, _
nVolumeNameSize, VolumeSerialNumber, _
MaximumComponentLength, FileSystemFlags, _
lpFileSystemNameBuffer, nFileSystemNameSize)
GetVolumeSerialNumber = VolumeSerialNumber
MsgBox VolumeSerialNumber//////////
End Function
GetVolumeInformation为什麽VolumeSerialNumber在Windows98中运行时总为0?
问题点数:50、回复次数:9Top
1 楼Jover(Danny)回复于 2001-10-06 11:47:49 得分 0
GZTop
2 楼Jover(Danny)回复于 2001-10-06 11:47:56 得分 0
UPTop
3 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2001-10-06 13:06:15 得分 0
不知道你是否要获得网络驱动器的VolumeSerialNumber,在95/98下该函数是不会返回
VolumeSerialNumber的。Top
4 楼xxxhhhlll1(xxhhll1)回复于 2001-10-06 16:57:22 得分 0
to :TechnoFantasy
不要获得网络驱动器的VolumeSerialNumber,
那如何在95/98下获得VolumeSerialNumber?多谢指教Top
5 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2001-10-06 17:40:00 得分 5
你的代码我在2000下试了,没有问题,我估计是Win98对这个参数不支持。Top
6 楼night_cai(菜烟虫)回复于 2001-10-06 19:26:09 得分 45
'试一下这个!把这个放入一个类模块中
Public 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
Public 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
Public Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long
Public Type LARGE_INTEGER ' 8 Bytes
lowpart As Long
highpart As Long
End Type
Public Type DiskInfo
DiskInfo_Volume As String * 255 '卷标
DiskInfo_Number As Long '硬盘标记
DiskInfo_LongFileName As Long '最大文件名长
diskinfo_zipdiskflag As Long '压缩盘标记
DiskInfo_FatType As String * 255 '文件分配表类型
DiskInfo_SectorsPerCluster As Long '每簇扇区数
DiskInfo_BytesPerSector As Long '每扇区字节数
DiskInfo_NumberOfFreeClusters As Long '磁盘剩余簇数
DiskInfo_TotalClusters As Long '磁盘簇数
End Type
Public Function GetDiskInfo(Driver As String) As DiskInfo
Dim TmpInfo As DiskInfo
Dim MReturn As Long
With TmpInfo
MReturn = GetVolumeInformation(Driver, .DiskInfo_Volume, 255, .DiskInfo_Number, .DiskInfo_LongFileName, .diskinfo_zipdiskflag, .DiskInfo_FatType, 255)
end with
end subTop
7 楼xxxhhhlll1(xxhhll1)回复于 2001-10-07 08:56:28 得分 0
多谢,楼上的兄弟,我马上试一下Top
8 楼xxxhhhlll1(xxhhll1)回复于 2001-10-07 09:36:22 得分 0
多谢各位帮忙Top
9 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2001-10-07 12:39:49 得分 0
学了一招 :-)Top
相关问题
- ::PostMessage()的运行机制是什麽样的
- 为什麽我的机子不能运行asp?
- 菜鸟问题:xml需要什麽运行环境
- 调试问题,为什麽程序在debug 版下运行正常, 但release 版运行不正常
- 为什麽,运行Delphi程序时,总是提示我要先保存?
- 这个程序为什麽不能运行??请指教,不胜感激!!
- D6比D5多了哪些东西或有什麽不同,我的机器为C300A/64M,是否能运行D6?
- 为什麽有时vc++编译成功了,链接后要运行时出了问题?
- 很简单的一个程序,为什麽用j2ee deploytool成功部署完的应用程序不能正常运行呢?
- 请问各位大虾看一下我这个程序,为什麽运行时总是有Insert into语法错误?谢谢




