在SysUtils中
一个函数类型的变量
GetDiskFreeSpaceEx: function (Directory: PChar; var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger): Bool stdcall = nil;
由InitDriveSpacePtr来初始化这个变量
一个函数类型的变量
GetDiskFreeSpaceEx: function (Directory: PChar; var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger): Bool stdcall = nil;
由InitDriveSpacePtr来初始化这个变量
GetDiskFreeSpaceEx
你可点开始菜单的搜索-->文件--〉包含文字GetDiskFreeSpaceEx---〉搜索文件夹
Delphi\source
然后搜到打开即可/。
var userFreeBytes,totalBytes,freeBytes:Int64;
你在你单元文件中写上 GetDiskFreeSpaceEx
然后按住Ctrl键,把鼠标指到GetDiskFreeSpceEx,出现超联接的样式,点一下你就知道了
OK?
GetDiskFreeSjpzceEx这个函数,在找的过程就是根据以前的经验和运气了(哈哈,在那么多的win api函数找一个实现自己需要的功能的函数,确实是比较难)
之后,我就在delphi\source中找delphi有没有对这个函数进行说明,上面的方法,有的话,就依靠delphi的定义来调用。如果没有,则自己定义。
你说查什么,查delphi\source下面的pas文件有没有对函数进行定义。
下面是c定义,
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 dis );
这个试pascal定义:
GetDiskFreeSpaceEx: function (Directory: PChar; var FreeAvailable,
TotalSpace: TLargeInteger; TotalFree: PLargeInteger):
很明显嘛,最后一个参数PLargeInteger,p开头是指针,用@取地址嘛!总之,这些东西,你编得多了,就熟了。