测试打开文件并读取文件内容

无法复制xxxx: 文件正在被另一个人或程序使用,这种情况下怎么想办法用QT拷贝这个文件,或者读出文件内容

 

文件正在被另一个人或程序使用,这种情况下怎么想办法用Delphi拷贝这个文件,或者直接读出文件内容?

procedure TForm1.Button1Click(Sender: TObject);
var
  F: THandle;
  ABuffer: array [0..1024] of byte;
  C : integer;
begin
  F := FileOpen('C:\Users\kk\Documents\Fichiers Outlook\Mon fichier de données Outlook(1).pst', fmOpenRead or fmShareDenyNone);
  FillChar(ABuffer, SizeOf(ABuffer), 0);
  if (F<>0) and (F<> INVALID_HANDLE_VALUE) then
  begin
    C:= System.SysUtils.FileRead(F, ABuffer, SizeOf(ABuffer));
    if C=SizeOf(Abuffer) then
      ShowMessage('ok')
    else
      ShowMessage('fail')
  end;
end;

[深圳]JOE 主要是找句柄 找到就可以随便处理
想读取全部内容很容易 打开的文件的句柄
内部是调用 createfile zwcreatefile打开文件 只要找到对应的打开文件的句柄就好了

参考特殊方法:

http://blog.csdn.net/mydo/article/details/3266703

posted @ 2015-09-04 20:06  findumars  Views(450)  Comments(0Edit  收藏  举报