LARGEINTEGER应该是64位的整数,VB支持吗?当以Byte计算时想想2G以上的硬盘有多少个Byte?
所以会出现类型不对的错误.
可以试试类型转换函数.或全部采用API。

解决方案 »

  1.   

    yayongm,
          谢谢你的回复,在VB中LARGEINTEGER类型是个结构体类型的数据,有两个成员,HWord和LWord,我在程序中也定义了这样的结构类型,使用的是
    Declare Function GetDiskFreeSpaceEx& Lib "kernel32" Alias "GetDiskFreeSpaceExA" ( _
            ByVal lpRootPathName      As String, _
                  lpFreeBytesAvailableToCaller As LARGE_INTEGER, _
                  lpTotalNumberOfBytes As LARGE_INTEGER, _
                  lpTotalNumberOfFreeBytes As LARGE_INTEGER) Public Type LARGE_INTEGER
        lowpart As Long
        highpart As Long
    End Type
    函数,系统还时报错,看你能否解决?如果全部采用API该如何计算?
               谢谢!
      

  2.   

    可以用Currency类型代替,结果 X 10000就行了。