发信人: foxzz()
整理人: hunter__fox(2002-03-16 21:48:54), 站内信件
|
*!*********************************************
function getvolu
para p_lpRootPathName
&& 得到盘区信息
&& p_lpRootPathName:驱动器名
&& 示例:do getvolu with "c:\"
#Define FILE_CASE_SENSITIVE_SEARCH 1
#Define FILE_CASE_PRESERVED_NAMES 2
#Define FILE_UNICODE_ON_DISK 4
#Define FILE_PERSISTENT_ACLS 8
#Define FILE_FILE_COMPRESSION 16
#Define FILE_VOLUME_IS_COMPRESSED 32768
&& &H8000
Declare INTEGER GetLastError IN kernel32
Declare SHORT GetVolumeInformation IN kernel32;
STRING lpRootPathName,;
STRING @ lpVolumeNameBuffer,;
INTEGER nVolumeNameSize,;
INTEGER @ lpVolumeSerialNumber,;
INTEGER @ lpMaximumComponentLength,;
INTEGER @ lpFlags,;
STRING @ lpFileSystemNameBuffer,;
INTEGER nFileSystemNameSize
if empty(p_lpRootPathName)
p_lpRootPathName = "C:\" && 驱动器和目录名
endif
if right(p_lpRootPathName,2)<>":\"
p_lpRootPathName = left(p_lpRootPathName,1)+":\"
endif
lpRootPathName=p_lpRootPathName
lpVolumeNameBuffer = SPACE(256) && lpVolumeName 返回缓存
nVolumeNameSize = 256 && lpVolumeNameBuffer 的大小
lpVolumeSerialNumber = 0 && lpVolumeSerialNumber 缓存
lpMaximumComponentLength = 256
lpFileSystemFlags = 0
lpFileSystemNameBuffer = SPACE(256)
nFileSystemNameSize = 256
lnResult = GetVolumeInformation(@lpRootPathName, @lpVolumeNameBuffer, ;
nVolumeNameSize, @lpVolumeSerialNumber, ;
@lpMaximumComponentLength, @lpFileSystemFlags, ;
@lpFileSystemNameBuffer, nFileSystemNameSize)
local m_message
m_message=""
If lnResult = 1
m_message=m_message+"驱动器和目录名:" + ALLTRIM(lpRootPathName) +chr(13)+chr(10)
m_message=m_message+"卷名: " + LEFT(ALLTRIM(lpVolumeNameBuffer),LEN(ALLTRIM(lpVolumeNameBuffer))-1)+chr(13)+chr(10)
m_message=m_message+"卷名最大字符数: " + ALLTRIM(STR(nVolumeNameSize))+chr(13)+chr(10)
m_message=m_message+"卷序列号: " + ALLTRIM(STR(lpVolumeSerialNumber))+chr(13)+chr(10)
m_message=m_message+"文件/目录名的最大字符数 :" + ALLTRIM(STR(lpMaximumComponentLength))+chr(13)+chr(10)
m_message=m_message+"文件系统标记: " + ALLTRIM(STR(lpFileSystemFlags))+chr(13)+chr(10)
m_message=m_message+"文件系统类型: " + LEFT(ALLTRIM(lpFileSystemNameBuffer), LEN(ALLTRIM(lpFileSystemNameBuffer))-1)+chr(13)+chr(10)
m_message=m_message+"文件系统名大小: " + ALLTRIM(STR(nFileSystemNameSize))+chr(13)+chr(10)
Else
m_message=m_message+"运行错误号: "+ GetLastError()
Endif
=messagebox(m_message,0+64+0,"盘区信息")
Clea dlls
Return m_message
---- 天行健,君子以自强不息
|
|