我在程序中使用deletefile删除文件,发现jpg文件不能删除,后来找到个例子使用shell方法,但偶尔会报告“无法删除文件、无法读源文件或磁盘”的提示。我的格式是
      try
        if not DeleteFile(tmpSerFileName) then   // 本地删除
          MyDeleteFile(self.Handle, tmpSerFileName);
      except
      end;

function MyDeleteFile(hd: HWND; src : string): Boolean; //add by jyl 2004-2
var
  OpStruc:TSHFileOpStruct;
  FromBuf:Array[0..128] of Char;
begin
  FillChar(FromBuf,Sizeof(FromBuf),0);
  StrPCopy(FromBuf,src);
  //开始填充OpStruc记录
  with OpStruc do
  begin
    Wnd:=hd;
    wFunc:=FO_DELETE;
    pFrom:=@FromBuf;
    pTo:=nil;
    fFlags:=FOF_NOCONFIRMATION;
//    lpszProgressTitle:='正在删除';
  end;
  if SHFileOperation(OpStruc)=0 then
  //执行成功
    Result := true
  else
    Result := false;
//  MessageBox(Handle,'删除完毕。','删除信息',MB_OK+MB_ICONINFORMATION);
end;会不会是deletefile虽然返回false但是图片被删除了所以mydeletefile再次删除时就报错?另外为什么jpg文件不容易删掉?