我这里有段代码,是取c:\盘大小的
GetDiskFreeSpace('C:', LPDWORD(@sector)^, LPDWORD(@byte)^, LPDWORD(@free)^, LPDWORD(@cluster)^); //获得返回参数
totalspace := cluster * byte * sector div 1024 div 1024; freespace := free * byte * sector div 1024 div 1024;
不知道为什么,剩余空间取得没错,总空间去取了一个1G多!
我的系统盘可有5G多呀!
请问各位如何修改?
GetDiskFreeSpace('C:', LPDWORD(@sector)^, LPDWORD(@byte)^, LPDWORD(@free)^, LPDWORD(@cluster)^); //获得返回参数
totalspace := cluster * byte * sector div 1024 div 1024; freespace := free * byte * sector div 1024 div 1024;
不知道为什么,剩余空间取得没错,总空间去取了一个1G多!
我的系统盘可有5G多呀!
请问各位如何修改?
解决方案 »
- 【跳楼前最后一问】:动态创建控件的问题,谁来解释解释????
- 帮忙看看!
- 在做ActiveXForm时,为什么Web Deploy菜单项不能用了?
- 一个有关将圆等分成360份的问题!
- 图片压缩算法
- 我经常看到一些程序的系统菜单中有自己的菜单(就是关闭,最大化,最小化,还原之类的菜单里),他是怎么加进去的?
- 怎么样设置父窗口?
- 类继承问题。
- 巨难用delphi的兄第快来帮忙。小弟在线等待。分不够还可以加感谢!高手请进!!!!!!!!!!!
- 不用一一付值得方法,怎样能让一个Panel中包括的控件都置为不可用:)
- 马年最后个问题:谁会用打印机自带字库进行打印?
- 1、哪里可以注册域名和申请主页空间???请列举好点的公司 2、哪里有免费的个人主页空间???
Windows 95 OSR 2: The GetDiskFreeSpaceEx function is available on Windows 95 systems beginning with OEM Service Release 2 (OSR 2).
Use the GetVersionEx function to determine that a system is running OSR 2 or a later release of the Windows 95 operating system. The GetVersionEx function fills in the members of an OSVERSIONINFO data structure. If the dwPlatformId member of that structure is VER_PLATFORM_WIN32_WINDOWS, and the low word of the dwBuildNumber member is greater than 1000, the system is running OSR 2 or a later release. Once you have determined that a system is running OSR 2, call the LoadLibrary or LoadLibraryEx function to load the
KERNEL32.DLL file, then call the GetProcAddress function to obtain an address for the GetDiskFreeSpaceEx function. Use that address to call the function.BOOL GetDiskFreeSpaceEx( LPCTSTR lpDirectoryName, // pointer to directory name on disk of interest
PULARGE_INTEGER lpFreeBytesAvailableToCaller, // pointer to variable to receive free bytes on disk available to the caller
PULARGE_INTEGER lpTotalNumberOfBytes, // pointer to variable to receive number of bytes on disk
PULARGE_INTEGER lpTotalNumberOfFreeBytes // pointer to variable to receive free bytes on disk
);
ParameterslpDirectoryNamePointer to a null-terminated string that specifies a directory on the disk of interest. This string can be a UNC name. If lpDirectoryName is NULL, the GetDiskFreeSpaceEx function obtains information about the disk that contains the currect directory.
Note that lpDirectoryName does not have to specify the root directory on a disk. The function accepts any directory on the disk. lpFreeBytesAvailableToCallerPointer to a variable to receive the total number of free bytes on the disk that are available to the user associated with the calling thread. If the operating system implements per-user quotas, this value may be less than the total number of free bytes on the disk.lpTotalNumberOfBytesPointer to a variable to receive the total number of bytes on the disk. lpTotalNumberOfFreeBytesPointer to a variable to receive the total number of free bytes on the disk.
This parameter can be NULL. Return ValuesIf the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError. ResNote that the values obtained by this function are of type ULARGE_INTEGER. Be careful not to truncate these values to 32 bits.
The GetDiskFreeSpaceEx function lets you avoid the arithmetic required by the GetDiskFreeSpace function.See AlsoGetDiskFreeSpace