有办法根据文件句柄得到文件名吗?

解决方案 »

  1.   

    CFile MyFile((int)hFile);
    CString FileName=MyFile.GetFileName();
    一个思路
    我赋予串口句柄得不到"COM1"之类
      

  2.   

    好像有办法,我见过这种软件,下面这个地方有很多好工具。
    http://www.sysinternals.com还有这个,可能会有点帮助
    http://www.codeguru.com/files/ForceDel.shtml
      

  3.   

    用下面这个函数可以通过文件句柄得到文件名称
    BOOL GetFileInformationByHandle(
      HANDLE hFile,                                  // 文件句柄 
      LPBY_HANDLE_FILE_INFORMATION lpFileInformation // 结构缓冲区,用来存放得到的文件信息
    );
    上面的函数用到的结构
    typedef struct _BY_HANDLE_FILE_INFORMATION {
      DWORD    dwFileAttributes; 
      FILETIME ftCreationTime; 
      FILETIME ftLastAccessTime; 
      FILETIME ftLastWriteTime; 
      DWORD    dwVolumeSerialNumber; 
      DWORD    nFileSizeHigh; 
      DWORD    nFileSizeLow; 
      DWORD    nNumberOfLinks; 
      DWORD    nFileIndexHigh; 
      DWORD    nFileIndexLow; 
    } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION; 希望对你有所帮助!
      

  4.   

    LPBY_HANDLE_FILE_INFORMATION结构也没有文件名呀??