操作系统为Windows XP。
我想用此函数打开一个已经存在的文件进行写操作,但是为何每次调用后,文件大小均为0呢? fp := CreateFile(pchar(Fn),
GENERIC_WRITE or GENERIC_READ,
FILE_SHARE_Read or FILE_SHARE_Write,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
我想用此函数打开一个已经存在的文件进行写操作,但是为何每次调用后,文件大小均为0呢? fp := CreateFile(pchar(Fn),
GENERIC_WRITE or GENERIC_READ,
FILE_SHARE_Read or FILE_SHARE_Write,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
就被截掉了,有可能返回了大于 65535 的值,但又不是 invalid_handle,而你只能得到
65535.
fp:HFILE;
在delphi 中HFILE是longword类型。
不过还是多谢!
大小是0?
你是怎么取大小的?var
fp:HFILE;
Fn:pchar;
fszie:integer;
begin
fn:='D:\New Folder\Pic\Blue Lace 16.bmp';
fp := CreateFile(fn,GENERIC_WRITE or GENERIC_READ,FILE_SHARE_Read or FILE_SHARE_Write,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
fszie:=getfilesize(fp,nil);
showmessage(Floattostr(fszie/1024));
end;打开一个1.24K的BMP
最后显示的是1.2421875没错阿?