mfc获取exe的版本信息
CString GetFileVersion(const CString& sTargetFileName)
{
DWORD nInfoSize = 0, dwHandle = 0;
nInfoSize = GetFileVersionInfoSize(sTargetFileName, &dwHandle);
if (nInfoSize == 0)
{
return _T("");
}
char* pInfoBuf = new char[nInfoSize];
GetFileVersionInfo(sTargetFileName, 0, nInfoSize, pInfoBuf);
struct LANGANDCODEPAGE {
WORD wLanguage;
WORD wCodePage;
}*pTranslate;
UINT cbTranslate = 0;
VerQueryValue(pInfoBuf, TEXT("\\VarFileInfo\\Translation"), (LPVOID*)&pTranslate, &cbTranslate);
CString version;
// Read the file description for each language and code page.
for (int i = 0; i < (cbTranslate / sizeof(struct LANGANDCODEPAGE)); i++)
{
WCHAR SubBlock[256] = { 0 };
wsprintf(SubBlock,
TEXT("\\StringFileInfo\\%04x%04x\\FileVersion"),
pTranslate[i].wLanguage,
pTranslate[i].wCodePage);
WCHAR* pVersion = NULL;
UINT nBytes = 0;
VerQueryValue(pInfoBuf, SubBlock, (LPVOID*)&pVersion, &nBytes);
version = pVersion;
break;
}
delete pInfoBuf;
return version;
}
void CtestmfcversionDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CString stdstr("C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware.exe");
GetFileVersion(stdstr);
CDialogEx::OnOK();
}
mfc获取exe的版本信息的更多相关文章
- 获取Exe文件版本信息的函数(使用GetFileVersionInfo得到TFileVersionInfo结构体,包含12项内容)
Type TFileVersionInfo = Record FixedInfo:TVSFixedFileInfo; {版本信息} Comp ...
- 获取 Android APP 版本信息工具类(转载)
获取 Android APP 版本信息工具类 获取手机APP版本信息工具类 1.获取版本名称 2.获取版本号 3.获取App的名称 package com.mingyue.nanshuibeidiao ...
- E1.获取Elixir/Erlang版本信息
E1.获取Elixir/Erlang版本信息 获取Elixir版本 直接在shel中打开iex (interactive shell),就可以查到具体的版本信息: iex Erlang/OTP 22 ...
- 使用JavaScript获取浏览器Chrome版本信息
Navigator对象包含了有关浏览器的信息 可通过访问其属性appVersion或userAgent来获取浏览器Chrome版本 例如,我所使用的QQ浏览器的appVersion和userAgent ...
- js获取智能机浏览器版本信息
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- Python获取exe文件版本
import time, datetime, re, subprocess, sys, os, win32net, win32api, win32con, win32netcon, win32secu ...
- php:获取浏览器的版本信息
//分析返回用户网页浏览器名称,返回的数组第一个为浏览器名称,第二个是版本号. function getBrowser() { $sys = $_SERVER['HTTP_USER_AGE ...
- 通过visual studio修改dll或exe的版本信息
可以编辑修改了 来自为知笔记(Wiz)
- c# 获取系统版本,获取net framework 版本(Environment 类)
1.获取当前操作系统版本信息 使用Environment.OSVersion 属性 获取包含当前平台标识符和版本号的 OperatingSystem 对象. 命名空间: System程序集: ms ...
随机推荐
- Java的学习01
记录每天的学习情况.加油. /** * 测试包装类 * @author 小白 * */ public class TestWrappedClass { public static void main( ...
- React Native 初步
[React Native 初步] 1.Create React Native App is the easiest way to start building a new React Native ...
- SVN Commit:将本地代码更新到服务器代码
1.点击客户端“TortoiseSVN” 选中后显示: 点击Import: 点击“ok”:
- 测试工具之appcrawler的使用
appcrawler 标签(空格分隔): appcrawler appcrawler 简介 一个基于自动遍历的app爬虫工具. 支持android和iOS, 支持真机和模拟器. 最大的特点是灵活性. ...
- django models实际操作中遇到的一些问题
问题1.将主键id改成自动生成的python3 manage.py migrate时报下面的错误 django.db.utils.InternalError: (1091, "Can't D ...
- 【OpenGL】glsl、glew、glfw
glsl: OpenGL着色语言(OpenGL Shading Language)是用来在OpenGL中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的GPU (Graphic Pr ...
- 【Scheme】树结构
将表作为序列的表示方式,可以推广到元素本身也是序列的序列.例如,我们可以认为对象((1 2) 3 4)是通过(cons (list 1 2) (list 3 4))构造出来的. 这个表包含三个项,其中 ...
- oracle 存储过程模板
CREATE OR REPLACEPROCEDURE PROCE_NAME(V_IN varchar2, V_OUT out varchar2) ASBEGIN --... commit; V_O ...
- Jboss 数据源密码明文加密
转载:https://blog.csdn.net/iberr/article/details/40896479 备注:解密小程序没有测试,知识了解了加密解密过程.对自己的帮助是看懂了连接数据库的配置, ...
- php71
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng li ...