在VC.NET中定义了CFile类的对象,例如:
CFile file;
除了用CFile::Open()函数的返回值之外,还有什么方法可以判断file对应的文件是否已经打开?

解决方案 »

  1.   

    if(m_hFile!=CFile::hFileNull)
    {
    ...
    }
      

  2.   

    Sorry:if(file.m_hFile!=CFile::hFileNull)
    {
    ...
    }
      

  3.   

    CStdioFile fpRelFile
    if(fpRelFile.Open(strRelFilePath, CFile::modeRead, NULL))
    {
        MessageBox("File is open");
    }
      

  4.   

    bool IsFileInUse(String FileName)
    {
        bool Result;
        HANDLE Handle = CreateFile(FileName.c_str(), GENERIC_READ | GENERIC_WRITE,
          0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        Result = INVALID_HANDLE_VALUE == Handle;
        if (!Result)
          CloseHandle(Handle);
        return Result;
    }
      

  5.   

    我试验了DentistryDoctor(牙科医生)提供的方法,是我所要的答案;lixiaosan(小三)的答案我没有具体的实验,应该也可以,我把总分值加了20,这样每人20,请笑纳,谢谢!同时也谢谢其他人参与。