看到msdn中有个函数是DWORD GetFileSize(
  HANDLE hFile,           // handle to file
  LPDWORD lpFileSizeHigh  // high-order word of file size
);
但不知道如何得到那个hFile啊?
还有别的好的解决方法吗?多谢

解决方案 »

  1.   

    HANDLE hHandle;
    DWORD dwSize; hHandle = ::CreateFile((LPCTSTR)strZipfile,GENERIC_READ,
    FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,
    NULL);
    if(hHandle == INVALID_HANDLE_VALUE)
    return FALSE;
    dwSize = ::GetFileSize(hHandle,NULL);
    CloseHandle(hHandle);
      

  2.   

    使用CFile或者CFileFind都可以得到文件句柄,用CreateFile也行
      

  3.   

    http://www.eaoo.com/design/list.asp?classid=2&Nclassid=13
      

  4.   

    CString szFile="c:\aaa.txt";
    int nFileSize=0;
    CFileFind finder;
    if(finder.FindFile(szFile)){
    finder.FindNextFile();
    nFileSize = finder.GetLength(); //文件大小在这里
    finder.Close();
    }
      

  5.   

    CStdioFile sf;
    sf.GetLength();
    非常方便
      

  6.   

    //比较标准的用法:)HANDLE hFile;
    DWORD dwLen=0;
    hFile = CreateFile(strFilePathName, GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_EXISTING, 0, NULL);
    if(hFile != INVALID_HANDLE_VALUE)
    {
        DWORD dwLen = GetFileSize(hFile, NULL);
    }
      

  7.   

    SDK方法:先用CreateFile打开文件获得文件句柄,再用你说的GetFileSize函数就可以了
      

  8.   

    CreateFile()函数的第一个参数是文件名还是路径和文件名的全称啊?