我要删除一个文件,可是如果文件打开的话,就删除失败了。
如何知道一个文件是否已经打开了呢?

解决方案 »

  1.   

    再去打开一次,根据getlasterror就可以知道是否打开了
      

  2.   

    DeleteFile Return Values
    If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. To get extended error information, call GetLastError. 
      

  3.   

    这个文件不是我的程序打开的。而且如果文件被打开时,DeleteFile删除时,就会死掉。
      

  4.   

    试试SHFileOperation
    SHFILEOPSTRUCT FileOp;
    FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
    FileOp.hNameMappings = NULL;
    FileOp.hwnd = NULL;
    FileOp.lpszProgressTitle = NULL;
    FileOp.pFrom = L"D:\\CantFind"
    FileOp.pTo = NULL;
    FileOp.wFunc = FO_DELETE;
    SHFileOperation(&FileOp);