//////////////////////////////////////////////////////////////
//
// File: version.cpp
// Description: Sample code for getting version info
// Created: 2008-1-4
// Author: Ken Zhang
// E-Mail: cpp.china@hotmail.com
//
//////////////////////////////////////////////////////////////
/*
The following code shows how to get FILEINFO value from resource file.
These WIN32 functions will be used:
* GetFileVersionInfo
* GetFileVersionInfoSize
* VerQueryValue
* GetModuleFileName
*/
#include <windows.h>
#include <tchar.h>
#include <string>
#include <iostream>
#pragma comment(lib, "version.lib")
using namespace std;
bool GetFileVersion(HMODULE hModule, WORD *pBuffer)
{
TCHAR fname[MAX_PATH];
VS_FIXEDFILEINFO *pVi;
DWORD dwHandle;
string str;
if (::GetModuleFileName(hModule, fname, MAX_PATH))
{
int size = GetFileVersionInfoSize(fname, &dwHandle);
if (size > 0) {
BYTE *buffer = new BYTE[size];
if (GetFileVersionInfo(fname, dwHandle, size, buffer)) {
if (VerQueryValue(buffer, _T("//"), (LPVOID *)&pVi, (PUINT)&size)) {
pBuffer[0] = HIWORD(pVi->dwFileVersionMS);
pBuffer[1] = LOWORD(pVi->dwFileVersionMS);
pBuffer[2] = HIWORD(pVi->dwFileVersionLS);
pBuffer[3] = LOWORD(pVi->dwFileVersionLS);
delete buffer;
return true;
}
}
delete buffer;
}
}
return false;
}
string GetFileVersion(HMODULE hModule)
{
string str;
WORD buffer[4];
if (GetFileVersion(hModule, buffer))
{
char str2[32];
for (int i = 0; i < sizeof(buffer)/sizeof(WORD); i++)
{
itoa(buffer[i], str2, 10);
str += str2;
if (i != sizeof(buffer)/sizeof(WORD) - 1)
{
str += ".";
}
}
}
return str;
}
void main()
{
cout << "Current version is: " << GetFileVersion(::GetModuleHandle(NULL)) << endl;
}
相关推荐
VS Code深度集成Claude Code:IDE级AI工作流重构指南
IDE智能扩展已从语法提示进化为开发工作流的底层重构力量。以VS Code为执行平台、Claude大模型为智能体,通过认证网关、上下文引擎、MCP协议栈与权限沙箱四大技术模块,实现代码理解、Git操作、多工具协同等工程能力闭环。其核心价值在于将AI嵌入编辑、调试、提交等真实动作节点,而非孤立调用;技术落地高度依赖VS Code环境健康度(CLI注册、Shell继承、Git配置)与上下文感知精度(@-mention文件定位、Git索引缓存、模糊匹配权重)。适用于Vue/React项目重构、CI/CD辅助、跨语
python读取matlab矩阵_将Matlab矩阵读入Python
当我试图将一个Matlab矩阵读入python时,我得到以下错误>>> scipy.io.loadmat("Dynamical.mat")Traceback (most recent call last):File "", line 1, in File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line...
Claude Code实战指南:从环境搭建到DeepSeek集成全解析
AI编程助手作为现代软件开发的重要工具,通过深度学习技术理解代码语义和开发上下文。其核心原理是基于大规模代码库训练的生成式模型,能够智能分析编程需求并提供精准建议。在技术价值层面,这类工具显著提升开发效率,减少重复性编码工作,帮助开发者遵循最佳实践。常见的应用场景包括代码自动补全、错误检测、性能优化建议等工程实践。本文聚焦Claude Code这一具体实现,它基于Fable 5架构重新设计,在代码生成速度方面提升40%,并支持与DeepSeek等模型的深度集成,为多平台开发环境提供完整的解决方案。
[Python] 读取存储.mat数据 scipy.io.loadmat("FileName")和scipy.io.savemat('XXX.mat', {'x': x,'y': y,'z': z})
读取.mat数据 scipy.io.loadmat("FilePath") 功能: 读取路径为"FilePath"的.mat文件,函数返回值为字典类型dict。之后还需要通过后续操作将值提取出来(字典操作来提取键值对的值)。 关于为什么scipy.io.loadmat("FilePath")的结果是一个字典,这是因为一个.mat文件中存在多个变量,每一个变量名都对应相应的数据,也就是变量名和变量值...
2026年AI编程工作流实战:Claude Code与Open Code深度对比
AI编程已从代码生成工具升级为IDE级智能工作流核心能力。其本质是将大语言模型深度嵌入开发环境,通过语义理解、上下文感知与行动闭环重构传统编码范式。Claude Code以企业级知识图谱和双轨Code Review为代表,强调合规性、可审计与深度集成;Open Code则依托Skill可组合性、本地优先模型与ocp协议,实现开源驱动的灵活扩展。二者共同推动IDE从‘编辑器’进化为‘数字搭档’——能理解RFC文档、记住PR评论、自动补全带重试的fetch逻辑,并在Promise链发呆时一键重构为async/a
Claude Code CLI 安装与 VS Code 集成实战指南
Claude Code 是一款面向工程化开发的 AI 编程助手,其核心并非传统插件,而是以 CLI 为运行引擎、VS Code 为交互界面、项目上下文为决策依据的 agentic 编程系统。它依赖 Node.js 18+ 提供的 Web Crypto API 实现安全认证,通过深度解析 Git 状态、pnpm-lock.yaml 和 CLAUDE.md 等元数据理解项目结构,从而生成符合真实约束的代码变更。该工具在 Next.js、tRPC、Prisma 等现代前端与全栈项目中展现出强上下文感知能力,可无缝
python scipy模块文档_使用scipy时找不到模块
我最近正确安装了numpy和scipy。以下行运行正常。在import scipy我在使用时遇到困难scipy.io.波形文件。我一直在尝试使用this post“最佳答案”中的代码。在但是,当我尝试第一行时from scipy.io import wavfile我收到以下错误和回溯Traceback (most recent call last):File "", line 1, in from...
Mac上本地部署Claude Code全指南:Node.js+VS Code深度集成
Claude Code并非传统插件,而是基于Node.js运行时的本地AI编程助手,其核心是将大语言模型能力嵌入VS Code编辑器。理解CLI工具链原理、Node.js版本兼容性(如v20 LTS对Web Crypto API的支持)及macOS沙盒环境下的PATH隔离机制,是实现稳定调用的前提。该方案提供离线可用、私有代码可控、无订阅依赖的AI辅助开发能力,适用于前端、算法、多语言(Python/Go/Rust)工程师。本文聚焦Mac平台(含M1/M2/M3芯片适配)、npm权限治理、VS Code手动
解决:TypeError: handle_get_file_code() got an unexpected keyword argument ‘save_all‘
问题出现在更新spyder到最新版本 conda install spyder=4.1.4 spyder更新完成后,之前的代码都不能正常运行报错: This command failed to be executed because an error occurred while trying to get the file code from Spyder's editor. The error was: An exception has occurred, use %tb to see the ful
Python版本检查的三层验证:跨平台解释器溯源方法论
Python版本检查远不止执行python --version命令,它本质是操作系统路径解析、shell初始化机制与二进制运行时环境的综合体现。理解PATH查找逻辑、shell别名/函数覆盖行为、sys.executable的权威性,以及file或Get-Command对可执行文件架构的识别,构成现代Python工程环境治理的基础能力。尤其在CI/CD流水线、多版本共存(如python3.11 vs python3)及虚拟环境管理场景中,仅依赖表层响应极易导致构建失败或模块兼容问题。本文聚焦Python v
DeepSeek V4 + Claude Code + CC Switch:VS Code 本地编程流闭环实战指南
大模型编程辅助已从网页问答迈入IDE内核级协同阶段。其核心在于将代码理解、生成与诊断能力深度嵌入开发流程,而非简单调用API。关键技术支撑包括AST感知解析、LSP协议适配、本地缓存穿透及面向代码的Tokenizer设计。DeepSeek V4凭借12TB代码预训练与企业级对齐,在pandas链式调用、asyncio混用等真实场景中显著提升意图识别准确率;CC Switch则作为协议翻译网关,实现VS Code与Claude Code/vLLM服务间的格式转换与上下文保真。该组合直击本地开发流中断痛点,适用
从 0 学习 Alibaba Open Code Review(一):用最小 Demo 跑通 AI 代码审查
最近学习 Alibaba 开源的open-code-review项目。这个项目的核心目标是利用大模型能力,对代码变更进行自动化 Code Review。安装 Open Code Review;配置 LLM Provider;执行测试模型连接;创建一个最小 JavaScript Demo 项目;制造一次待审查的 Git diff;使用预览审查范围;使用ocr review审查 Git diff;使用保存结构化审查结果;配置自定义审查规则;使用验证规则是否命中;对比自定义规则前后的审查结果;
Claude Code:从代码补全到深度理解的AI编程代理实践指南
AI编程助手作为现代软件开发的重要工具,其核心原理是基于大语言模型的代码理解与生成能力。通过分析项目结构、理解代码语义,这类工具能够显著提升开发效率。在技术价值层面,AI编程助手不仅提供代码补全,更能实现多文件重构、自动化测试和智能调试等复杂任务。应用场景涵盖从个人项目开发到大型团队协作,特别是在处理陌生代码库和复杂业务逻辑时优势明显。以Claude Code为代表的AI编程代理,通过深度代码库理解和终端命令执行等热词功能,将AI编程从辅助工具升级为真正的智能协作伙伴,实现了从被动响应到主动规划的代际跨越。
在 Visual Studio Code 中配置 Clang-Format 格式化 (排版) 工具
在 Visual Studio Code (VS Code) 中配置 Clang-Format 格式化 (排版) 工具
ValueError: Unknown mat file type, version 0, 0, KeyError: Unable to open object (object data doe
from scipy import io mat_file = r'/home/data/1.mat' io.loadmat(mat_file) 报错: Traceback (most recent call last): File "/home/user1/test.py", line 78, in <module> show_mat(mat) File "/...
贝塞尔曲线在机器人路径平滑中的实战应用与优化
本文深入探讨了贝塞尔曲线算法在机器人路径平滑中的核心应用。通过对比G1CBS与G2CBS两种方法,详细阐述了如何实现从切线连续到曲率连续的平滑优化,以满足不同机器人对运动平稳性和效率的需求,并提供了完整的Python代码实现与关键参数调优指南。
android 把file资源转file,Android文件管理器选择文件,获得文件路径URI转File
记一次文件上传引发的血案。解决QQ浏览器com.tencent.mtt.fileprovider问题。更新列表日期修改内容2019年7月2日更新遇到的问题前情描述:使用系统文件管理器,选择指定文件类型上传。基础知识MIME调起文件管理器指定浏览位置(路径转URI)设置多种文件类型URI转路径踩坑com.tencent.mtt.fileprovider 问题1. MIMEMIME (Multipur...
顶级的FDE需要拥有哪些技能?
上一篇《》说明白了什么是FDE。这一篇回答下一个问题:要成为顶级 FDE,需要哪些具体的技能?要想弄清楚FDE应该有哪些能力,就得先搞清楚FDE要完成哪些工作。同时,有一点是我们要密切关注的:现在是大模型时代,所以我们不能脱离大模型讨论FDE的能力。我们可以把FDE在客户现场需要完成的工作分为四类:破冰与诊断、价值交付、项目与预期管理、沟通与影响。另有两项元能力贯穿始终。以下按工作类别逐一拆解,每项能力配 1 / 3 / 5 分标准,方便对照自评。文末有完整打分工具链接。
Android使用系统文件管理器选择文件,并将Uri转换为File
0.README 1.利用系统文件管理器选择文件得到Uri码 2.Uri转化成File能读取的路径 参考文献 0.README 本文的android代码测试机型为:小米4。首先用系统文件管理器选择文件,获得文件Uri,然后解析Uri得到文件真实路径。 1.利用系统文件管理器选择文件得到Uri码 这里借鉴的是优快云博客里别的大佬的回答(见参考文献...
C#程序突然崩溃怎么办?5分钟学会分析Dump文件(Visual Studio 2022实战)
本文详细介绍了在C#程序崩溃或无响应时,如何捕获并分析Dump文件以快速定位问题。通过Visual Studio 2022实战演示,重点讲解了配置符号服务器、解读调用堆栈与内存状态,以及针对CPU飙高、内存泄漏等典型场景的分析方法,帮助开发者高效进行故障诊断。
【爬虫】Python实现爬取淘宝商品信息(超详细)
项目基于Python的第三方库Selenium模拟浏览器运行、PyQuery解析和操作HTML文档,获取淘宝平台中某类商品的详细信息(商品标题、价格、销量、商铺名称、地区、商品详情页链接、商铺链接等),并基于第三方库openpyxl建立、存储于Excel表格中。# 全局变量count = 1 # 写入Excel商品计数# 启动ChromeDriver服务# 关闭自动测试状态显示 // 会导致浏览器报:请停用开发者模式# 把chrome设为selenium驱动的浏览器代理;# 窗口最大化。
Ubuntu Code::Blocks 16.01 安装
Ubuntu Code::Blocks 16.01 安装
从原理到落地:Mamba-YOLOv8 全面实战指南(源码 + 训练 + 部署一次学会)
在目标检测领域,CNN与Transformer的较量从未停歇。本文提出一种革命性的架构——,将状态空间模型(SSM)首次引入YOLO框架。实验表明,该模型在COCO数据集上达到54.3% mAP@0.5,推理速度达89 FPS(RTX 4090),相比原版YOLOv8提升12.7%精度与23%速度。本文将完整揭示其技术原理与工程实现,助您掌握这一前沿技术。
418



被折叠的 条评论
为什么被折叠?



