文件处理函数

WinAPI: GetWindowsDirectory - 获取 Windows 所在目录

//声明:
GetWindowsDirectory(
lpBuffer: PChar;
{缓冲区}
uSize: UINT
{缓冲区大小}
): UINT;
{返回实际长度}


//举例:
var
arr:
array[0..MAX_PATH] of Char;
num: UINT;
begin
num :
= GetWindowsDirectory(arr, MAX_PATH);
ShowMessage(arr);
{C:\WINDOWS}
ShowMessage(IntToStr(num));
{10}
end;


WinAPI: GetSystemDirectory
- 返回 System 文件夹路径

//声明:
GetSystemDirectory(
lpBuffer: PChar;
{缓冲区}
uSize: UINT
{缓冲区大小}
): UINT;
{返回实际长度}


//举例:
var
arr:
array[0..MAX_PATH] of Char;
num: UINT;
begin
num :
= GetSystemDirectory(arr, MAX_PATH);
ShowMessage(arr);
{C:\WINDOWS\system32}
ShowMessage(IntToStr(num));
{19}
end;


WinAPI: GetTempPath
- 获取临时文件夹路径

//声明:
GetTempPath(
nBufferLength: DWORD;
{缓冲区大小}
lpBuffer: PChar
{缓冲区}
): DWORD;
{返回实际长度}


//举例:
var
arr:
array[0..MAX_PATH] of Char;
num: DWORD;
begin
num :
= GetTempPath(MAX_PATH, arr);
ShowMessage(arr);
{C:\DOCUME~1\wy\LOCALS~1\Temp\}
ShowMessage(IntToStr(num));
{29}
end;


WinAPI: GetTempFileName
- 生成一个临时文件名

//声明:
GetTempFileName(
lpPathName: PChar;
{路径}
lpPrefixString: PChar;
{前缀}
uUnique: UINT;
{指定生成文件名的数字, 文件名将根据参数2、参数3来生成}
lpTempFileName: PChar
{文件名需要的缓冲区}
): UINT;
{指定生成文件名的数字, 如果参数3是0, 则返回文件名长度}


//举例:
var
p,f:
array[0..MAX_PATH] of Char;
begin
GetTempPath(MAX_PATH, p);
GetTempFileName(p,
'~My', 16, f); {因为16的十六进制是10, 文件名会是: ~My10.tmp}
ShowMessage(f);
{C:\DOCUME~1\wy\LOCALS~1\Temp\~My10.tmp}
end;


WinAPI: CopyFile
- 复制文件

//声明:
CopyFile(
lpExistingFileName: PChar;
{源文件}
lpNewFileName: PChar;
{目标文件}
bFailIfExists: BOOL
{如果目标文件存在, True: 失败; False: 覆盖}
): BOOL;


//例1:
begin
CopyFile(
'c:\BOOTLOG.TXT', 'c:\temp\BOOTLOG.TXT', True);
end;


//例2:
var
ExistFile, NewFile:
string;
begin
ExistFile :
= 'c:\BOOTLOG.TXT';
NewFile :
= 'c:\temp\BOOTLOG.TXT';

if CopyFile(PChar(ExistFile), PChar(NewFile), True) then
ShowMessage(
'复制成功');
end;

posted @ 2011-07-09 21:17  斥也  阅读(228)  评论(0)    收藏  举报