vc关于文件版本号,访问时间 修改时间

来源:互联网 发布:php版本有什么区别 编辑:程序博客网 时间:2024/06/01 08:06

CString GetFileVersion(char*  FileName)  
{     
    int   iVerInfoSize;  
    char   *pBuf;  
    CString   asVer="";  
    VS_FIXEDFILEINFO   *pVsInfo;  
    unsigned   int   iFileInfoSize   =   sizeof(   VS_FIXEDFILEINFO   );  
      
      
    iVerInfoSize   =   GetFileVersionInfoSize(FileName,NULL);   
      
    if(iVerInfoSize!= 0)  
    {     
        pBuf   =   new   char[iVerInfoSize];  
        if(GetFileVersionInfo(FileName,0,   iVerInfoSize,   pBuf   )   )     
        {     
            if(VerQueryValue(pBuf,   "//",(void    **)&pVsInfo,&iFileInfoSize))     
            {     
                asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),LOWORD(pVsInfo->dwFileVersionLS));  
            }     
        }     
        delete   pBuf;     
    }     
    return   asVer;     
}   
CString GetFileVersion(char*  FileName)
{  
 int   iVerInfoSize;
 char   *pBuf;
 CString   asVer="";
 VS_FIXEDFILEINFO   *pVsInfo;
 unsigned   int   iFileInfoSize   =   sizeof(   VS_FIXEDFILEINFO   );
   
   
 iVerInfoSize   =   GetFileVersionInfoSize(FileName,NULL);
   
 if(iVerInfoSize!= 0)
 {  
  pBuf   =   new   char[iVerInfoSize];
  if(GetFileVersionInfo(FileName,0,   iVerInfoSize,   pBuf   )   )  
  {  
   if(VerQueryValue(pBuf,   "//",(void    **)&pVsInfo,&iFileInfoSize))  
   {  
    asVer.Format("%d.%d.%d.%d",HIWORD(pVsInfo->dwFileVersionMS),LOWORD(pVsInfo->dwFileVersionMS),HIWORD(pVsInfo->dwFileVersionLS),LOWORD(pVsInfo->dwFileVersionLS));
   }  
  }  
  delete   pBuf;  
 }  
 return   asVer;  

获取路径:

view plaincopy to clipboardprint?
CString GetCurrentAppDirectory()  
{  
    char szFile[MAX_PATH];  
    char szPath[MAX_PATH];  
    GetModuleFileName(NULL,szFile,MAX_PATH);  
    size_t i;  
    for(i=strlen(szFile)-1; i>0 && szFile[i]!='//'; i--);  
    szFile[i]='/0';  
    strcpy(szPath,szFile);   
    return (szPath);  

CString GetCurrentAppDirectory()
{
 char szFile[MAX_PATH];
 char szPath[MAX_PATH];
 GetModuleFileName(NULL,szFile,MAX_PATH);
 size_t i;
 for(i=strlen(szFile)-1; i>0 && szFile[i]!='//'; i--);
 szFile[i]='/0';
 strcpy(szPath,szFile);
 return (szPath);
}

获取修改时间:

view plaincopy to clipboardprint?
CString GetModifyTime(CString appname)  
{  
    WIN32_FIND_DATA ffd ;  
    HANDLE hFind = FindFirstFile(appname,&ffd);  
    SYSTEMTIME stUTC, stLocal;  
    FileTimeToSystemTime(&(ffd.ftLastWriteTime), &stUTC);  
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);  
    CString strTmp;  
    strTmp.Format("%d-%d-%d,%d:%d", stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute);  
    //--      
    return strTmp;  
}

原创粉丝点击