Windows程序读取自身程序版本信息

自己写某产品时的代码,虽然网上有一堆一堆,但是这个是自己调试过的,自己留着给自己看

 

VOID GetInstanceVersion()
{
   BOOL version_get = FALSE;
   DWORD dwVersionInfoSize;  
   
   TCHAR szFile[255];
   memset(szFile,0x00,sizeof(szFile));
   GetModuleFileName(NULL,szFile,255);
   dwVersionInfoSize = ::GetFileVersionInfoSize(szFile, NULL);  
    if (0 == dwVersionInfoSize)  
    {  
        //return false;
        version_get = FALSE;
    }  

    char* pVersionInfo = new char[dwVersionInfoSize];  
    memset(pVersionInfo,0x00,sizeof(pVersionInfo));
    if (0 == GetFileVersionInfo(szFile, NULL, dwVersionInfoSize, pVersionInfo))  
    {  

        delete[] pVersionInfo;  
    }  

 
    VS_FIXEDFILEINFO* pVersion = NULL;  
    unsigned int nLen;  
    if(FALSE == ::VerQueryValue(pVersionInfo, _T("\\"), (void**)&pVersion, &nLen))  
    {  
        delete[] pVersionInfo;  
        //return false;
        version_get = FALSE;
    }  

    int nFileVersionMS = pVersion->dwFileVersionMS;  
    int nFileVersionLS = pVersion->dwFileVersionLS;  
    
    valStr.Format(_T("%d.%d.%d.%d"),  (pVersion->dwFileVersionMS >> 16) & 0xFF, (pVersion->dwFileVersionMS) & 0xFF, (pVersion->dwFileVersionLS >> 16) & 0xFF, (pVersion->dwFileVersionLS));   

    delete[] pVersionInfo;  
}

转载于:https://www.cnblogs.com/ouyshy/p/4552000.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值