用程序删除一个文本文件到回收站,为什么文件就被改名字了?(45分)

  • 主题发起人 主题发起人 套牢1
  • 开始时间 开始时间

套牢1

Unregistered / Unconfirmed
GUEST, unregistred user!
用一个tstrings.loadfromfile()对一个文本文件读取后,用

function DeleteFileWithUndo(sFileName : string ): boolean;//删除文件到垃圾箱;
var
fos : TSHFileOpStruct;
begin
FillChar( fos, SizeOf( fos ), 0 );
with fos do
begin
wFunc := FO_DELETE;
pFrom := PChar( sFileName );
fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
end;
Result := ( 0 = ShFileOperation( fos ) );
end;
删除该文件到回收站,但发生以下现象
文件原名:销售数据1222.txt
回收站内文件名变为:销售数~1.txt
为什么?
 
你取文件名时一定有问题,sFileName = 销售数~1.txt了吧
 
不会
我跟踪到在调用该函数时,参数没有变,还是原来的文件名
 
你的文件名过长了,改成8.3就应该没什么问题了
 
后退
顶部