【WIN】【C/C++】获取文件版本号

windows获取.exe文件版本号 先贴代码,直接可用,windows QT刚刚接触,研究了接近一个下午==: QString GetEXEVersion() { #pragma comment(lib, "Version") TCHAR   szFullPath[MAX_PATH]; DWORD   dwVerInfoSize = 0; DWORD   dwVerHnd; VS_FIXEDFILEINFO * 阅读详情

title: Win32API 获取文件版本


调用Win32 API获取软件版本号
在这里插入图片描述

代码

/********************************************************************************
 *
 *        All rights reserved by mingming
 *
 *        filename		: RegEnumValue
 *        description	:
 *
 *        created by  mingming on Aug. 13th, 2021
 *
 ********************************************************************************/
#include<string>
#include<iostream>
#include<Windows.h>
#include<io.h>
#include<tchar.h>
using namespace std;
#pragma warning(disable:4996)
#pragma comment(lib, "version.lib")

std::string GetSoftVersion(const char* exepath)
{
	PCWSTR filePath = L"D:\\Program Files\\Typora\\Typora.exe";
	std::string r = "";
	if (!exepath)
		return r;
	if (_access(exepath, 0) != 0)
		return r;
	UINT sz = GetFileVersionInfoSize(L"D:\\Program Files\\Typora\\Typora.exe", 0);
	int d = GetLastError();
	if (sz != 0) {
		r.resize(sz, 0);
		char *pBuf = NULL;
		pBuf = new char[sz];
		VS_FIXEDFILEINFO *pVsInfo;
		if (GetFileVersionInfo((LPCWSTR)filePath, 0, sz, pBuf)) {
			if (VerQueryValue(pBuf, (LPCWSTR)"\\", (void **)&pVsInfo, &sz)) {
				sprintf(pBuf, "%d.%d.%d.%d", HIWORD(pVsInfo->dwFileVersionMS), LOWORD(pVsInfo->dwFileVersionMS), HIWORD(pVsInfo->dwFileVersionLS), LOWORD(pVsInfo->dwFileVersionLS));
				r = pBuf;
			}
		}
		delete pBuf;
	}
	return r;
}

int main()
{

	std::string info = GetSoftVersion("D:\\Program Files\\Typora\\Typora.exe");
	std::cout << info << std::endl;
	system("pause");
	return 0;
}

执行结果

在这里插入图片描述

VS Code如何在win10环境下运行C/C++ 本篇文章适合有一定基础的同学。 一、准备工作 1.安装VS Code,并且安装C/C++插件 链接:https://code.visualstudio.com/ 2.安装MinGW 链接:http://www.mingw.org/ 安装完成后,要添加和C/C++相关的编译器,部分截图如下: (关于安装哪些库,网上还可以找到其他教程,大家按需安装即可,而且这个软件的安装和常见软件不一样,点击... 阅读详情

相关推荐

基于VSCode和WSL配置C/C++环境(Win11)

Win11系统下,基于VSCode和WSL配置C/C++环境

weixin_44390344的博客 3182

c++ 获取软件版本信息

c++ 获取软件版本信息

xzpblog 5086

获取本机操作系统版本的C++实现

在上述代码中,我们首先使用ZeroMemory函数将osvi结构体清零,然后设置dwOSVersionInfoSize字段为结构体的大小,接着调用GetVersionEx函数获取系统版本信息。首先,我们需要使用Windows API中的GetVersionEx函数来获取操作系统版本信息。GetVersionEx函数是一个非常有用的函数,它可以获取操作系统版本、服务包级别、系统类型等信息。总之,使用GetVersionEx函数可以轻松地获取当前机器的操作系统版本信息,从而让我们更好地进行开发和调试工作。

2301_79365003的博客 1011

C++获取exe文件版本号

#pragma comment(lib, "version.lib") //返回文件版本号 //@params:filename:文件名 string GetFileVersion(LPCWSTR filename) { string asVer = ""; VS_FIXEDFILEINFO *pVsInfo; unsigned int iFileInfoSize = sizeof(VS...

MusicMan 2587

vb获取其他应用程序版本号

超准确的VB获取应用程序文件 exe文件 的版本信息的模块源码 已在WinXP Win7等32 64位系统上测试通过 兼容性好 且准确 很实用的一个模块

Zemax中场曲与畸变图的深度解析与应用场景对比

本文深度解析了Zemax中场曲/畸变图与网格畸变图的核心原理、计算逻辑与适用场景。通过对比常规成像镜头、扫描镜头、鱼眼镜头及变形宽银幕镜头等实际案例,详细阐述了如何根据系统对称性、视场角及核心需求选择正确的分析工具与畸变评价标准,为光学设计中的畸变诊断与优化提供清晰指导。

sand8的博客 482

VsCode配置C/C++开发环境

安装和配置VsCode和MinGW,并在VsCode中配置C/C++开发环境。

lyb06的博客 1万+

解决RK3566 USB OTG模式识别问题:从原理图分析到otg_mode文件操作全解析

本文深入解析RK3566 USB OTG模式识别问题,从硬件原理图设计到Linux内核的otg_mode文件操作,提供全面的调试方案。针对USB_OTG0_ID引脚电路设计、电源管理关联及内核驱动交互等关键点,给出实战调试技巧和常见问题解决方案,帮助开发者高效解决USB OTG模式切换难题。

eee77的博客 866

如何在VSCode上运行C/C++代码

本文介绍如何在VSCode上运行C/C++代码

诸神缄默不语的博客 1万+

手把手教你安装 Vivado2022.2(附安装包)

Vivado 2022.2版本与之前的版本相比,具有以下几个显著的优势:电源设计管理器(PDM):Vivado 2022.2引入了全新的电源设计管理器(PDM),这是一个下一代功耗评估平台,为Versal® 和 Kria™ SOM提供了准确一致的功耗估计能力。PDM是Versal产品家族的首选功耗评估工具,为Versal ACAP硬IP块提供增强向导,简化从XPE向PDM的迁移,帮助用户获得准确的功耗评估。

dpwkj的博客 2万+

【AirPlay】苹果认证MFI学习

配件认证是一个过程,通过这个过程,可验证其配件符合MFi技术规范,并通过苹果指定的任何认证测试。MFi门户中的产品计划 "认证 "页面将指导你完成特定配件所需的认证步骤,并指出何时完成所有要求。在完成所有MFi认证要求之前,你不得制造、分发或销售任何配件。在开始MFi认证过程之前,你必须测试你的配件,以确保它符合最新的MFi技术规范,通过产品计划 "测试计划 "上的所有适用测试,并与它将声称具有兼容性的每个苹果设备兼容。

天天的博客 2275

win10 VScode配置C/C++环境

title: win10在VScode上配置C/C++环境 date: 2020-03-13 22:09:15 tags: ‘C/C++’ win10 VScode配置C/C++环境 一、下载需要的工具 1.下载VScode 2.安装cpptools工具 打开VScode,按照以下步骤安装 3.安装code runner工具 在VScode中编译文件,结束后并不会像我们经常使用的IDE一样,终端会停留在面前然后告诉你“按任意键继续”,在VScode中,编译运行完成后往往cmd会一闪而过,然后直接: Th.

qq_45703204的博客 1万+

PyInstaller打包后在Win7无法运行,提示缺少`api-ms-win-core-path-l1-1-0.dll`问题解决

这个问题的关键在于Python 3.12和Windows 7之间的兼容性问题。解决方法是使用Python 3.8.8版本进行打包,确保程序能够在Windows 7系统上运行。如果你也遇到类似的问题,不妨尝试降级Python版本,看看是否能够解决。希望我的经验能够帮到你!如果你在使用PyInstaller打包时遇到其他问题,欢迎留言讨论。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 994

C/C++开发环境

如同, 缺少了对cJSON的编译,这里对成员函数的所需的c/cpp文件未被编译。也就是按单文件编译方法对多文件进行编译。解决办法:在tasks.jason 中设置源文件,将"args"的值语言CC++C/C++这里的 ${fileDirname} 表示当前目录。

Watom_663的博客 3291

ROS从入门到精通0-1:教程导读

ROS概念太多太复杂?ROS从入门到精通系列订阅必看

FRIGIDWINTER的博客 1万+

OpenClaw 多机器人多 Agent 模式:打造你的 AI 助手团队

OpenClaw多Agent模式为企业提供高效的AI助手团队解决方案。通过创建4个独立的飞书机器人(主助理、内容创作、技术开发、AI资讯),每个连接专属Gateway和Agent模型(如Claude Opus/Sonnet、Gemini 2.5),实现专业分工。相比单Agent模式,多Gateway架构具有配置清晰、互不干扰、无需手动切换等优势。系统采用Profile隔离机制,各Agent拥有独立配置和端口。部署过程包括创建机器人应用、配置Agent、运行自动化脚本等步骤,支持私聊或群组@使用。日常提供状态

Maynor的博客 5099

VS Code 搭建 C/C++ 编译环境(clang)

参考文档:https://vonsdite.cn/posts/7552b9cf.html 我的环境: 1. Win10, VS Code; 2. LLVM-clang(9.0.0),Target: x86_64-pc-windows-msvc,Thread model: posix 3. MinGW-w64(8.1.0),Target: x86_64-w64-mingw32,Threa...

u011807371的博客 1万+

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

VSCode多个CPP文件编译及win10下make的使用

VSCode多个CPP文件编译及win10下make的使用VSCode多个C/CPP文件编译win10下make使用 VSCode多个C/CPP文件编译 配置C/C++编译环境时,默认tasks.json和launch.json不能同时编译多个cpp(一个主函数)文件,其原因是g++的编译指令没有将所有的cpp文件加入,只要在tasks.json中,将 “args”: []中的 “${file}” ,改为 “${workspaceFolder}\*.cpp”,但之后运行同一个工作区内的其他单个cpp,总显示

qq_44939970的博客 3554

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WIN11+VSCODE搭建c/c++开发环境

前面试过了ubuntu+vscode,macos+vscode,win11+visual studio搭建,本来以为win11+vscode是手到擒来的,没想到颇有些周折。Compiler path: C:\msys64\ucrt64\bin\g++.exe(根据你的安装路径调整)。添加你的 MinGW-w64 的 bin 目录(例如 C:\msys64\ucrt64\bin)。总结:以上是配置c++文件,如果是c文件,修改json中的g++为gcc即可。按回车选择默认安装(全部包)。

3130

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

在VSCode中配置C/C++环境并运行cpp代码

本文记录笔者作为VSCode小白为了在VSCode上编写C/C++代码而做的一些努力。已有软硬件条件。

qq_58400270的博客 6551

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10下 vscode C/C++环境配置

安装 C/C++ 插件 安装MinGw 安装链接 安装 gdb,gcc,g++插件 在vscode 里面新建一个cpp文件 #include <iostream> using namespace std; int main() { int test; cout << "test" << endl; cin >> test...

baibaigao的博客 4255

win10下VScode的C/C++开发环境配置

前言 VScode的功能的强大在不在此重复了。但是一直以来,配置C/C++的开发环境让我很头疼,也百度了很多教程,但是总是存在问题。经过一晚上的努力,终于可以在VScode中编辑、运行C/C++了。记录一下过程,和大家分享一下。 一、下载安装MinGW 其实,VScode的连接、编译是基于win10中的编译器的。win10中常用的编译器:MinGW和Cygwin。我使用的是MinGW。关于MinG...

weixin_42717998的博客 920

win7/win10获取一个文件夹下的所有文件名(可含通配符)c/c++

由于工作需要,需要得到一个文件夹下所有的lib文件名字。 不拐弯抹角了,下面的代码直接编译运行就可以了,核心是_finddata_t一个存储文件基本信息的结构体,和Linux思想是一致的,在Linux下打包成一个ls命令了 具体可以看看: https://www.cnblogs.com/collectionne/p/6792301.html 有两个需要注意的 1: win10中一定要是intptr...

我爱加菲猫 1731

VSCode如何快速搭建C/C++环境

这个minGW64我查了半天还是没彻底搞懂它到底是什么,只知道是一个运行C语言程序所必需的、适用于windows系统的、开源的插件,这个插件是LINUX系统中的GCC编译器移植到windows系统中的产物。//**********上面这行,要修改为你的编译器所在的路径,形如 c:\\***\\bin\\gdb.exe。注意,其中的"command"参数和"launch.json"中的"preLaunchTask"参数要一致。在系统变量中找到Path,编辑,新建,将刚才复制的地址粘贴上,确定。

luobinrobin的博客 3038

c++ h cpp文件如何关联_Win10使用VS Code编译运行,调试C/C++

请不要转载,欢迎点赞,收藏使用。主要讲如何在vscode上实现编译/运行/调试C/C++,如果是初学者,就请完全按照文章的步骤进行。1.请在VS Code官网下载安装好visual stdio code,在安装时,勾选上所有选项。VS Code官网:https://code.visualstudio.com勾选后在文件和文件夹的右键菜单中会多出 Open with Code这个选项,也就是用vsc...

weixin_42509614的博客 1300
上一篇: 【WIN32】【C/C++】枚举注册表子项及其值
下一篇: 【C++】智能指针<shared_ptr>
欧恩意
博客等级 码龄7年 677粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值