You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

管理来自外部资源的VS_VERSION_INFOFILEVERSION

在C++中,可以使用以下代码示例在运行时从外部资源管理VS_VERSION_INFO FILEVERSION:

#include <Windows.h>
#include <iostream>

int main()
{
    HMODULE hModule = GetModuleHandle(NULL); // 获取当前模块的句柄
    HRSRC hResource = FindResource(hModule, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION); // 获取版本资源的句柄
    DWORD dwResourceSize = SizeofResource(hModule, hResource); // 获取版本资源的大小
    HGLOBAL hResourceData = LoadResource(hModule, hResource); // 加载版本资源的数据
    void* pResourceData = LockResource(hResourceData); // 锁定版本资源的数据

    if (hResourceData != NULL && pResourceData != NULL)
    {
        VS_FIXEDFILEINFO* pFileInfo = NULL;
        UINT uLength = 0;
        VerQueryValue(pResourceData, L"\\", (LPVOID*)&pFileInfo, &uLength); // 获取版本信息

        if (pFileInfo != NULL)
        {
            DWORD dwFileVersionMS = pFileInfo->dwFileVersionMS;
            DWORD dwFileVersionLS = pFileInfo->dwFileVersionLS;

            DWORD dwMajorVersion = HIWORD(dwFileVersionMS);
            DWORD dwMinorVersion = LOWORD(dwFileVersionMS);
            DWORD dwBuildNumber = HIWORD(dwFileVersionLS);
            DWORD dwRevisionNumber = LOWORD(dwFileVersionLS);

            std::wcout << dwMajorVersion << L"." << dwMinorVersion << L"." << dwBuildNumber << L"." << dwRevisionNumber << std::endl; // 打印版本号
        }
    }

    return 0;
}

此代码首先获取当前模块的句柄。然后,使用FindResource函数获取版本资源的句柄,并使用SizeofResource函数获取版本资源的大小。接下来,使用LoadResource函数加载版本资源的数据,并使用LockResource函数锁定本资源的数据。

然后,使用VerQueryValue函数获取本信息,并将其存储在VS_FIXEDFILEINFO结构中。最后,从VS_FIXEDFILEINFO结构中提取本号并打印出来。

注意,此代码假定本资源的名称为'VS_VERSION_INFO”,并且存在于当前模块中。如果本资源位于外部文件中,则需要使用FindResourceEx函数来指定文件句柄。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

在字节跳动,一个更好的企业级 SparkSQL Server 这么做

public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException;public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException;public ... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中缺乏的能力,例如实时的日志获取。但是使用该能力时,需要将对应的实现类转换...

实验4:基于ECS+RDS搭建WordPress博客

❗❗❗注意:请严格根据实验所需资源进行创建,恶意创建超过数量的资源,官方将回收账号,并有权取消用户的活动参与资格,必要时追究违规用户的法律责任。### Step 5:提交实验结果5. 登录 **“个人账号”**,在文章末... nginx version: nginx/1.20.1```29. 执行以下命令,启动nginx。```systemctl start nginx```#### **安装** **PHP**30. 请依次执行以下命令来安装PHP。```yum -y install https://rpms.remirepo.net/e...

干货 | 在字节跳动,一个更好的企业级SparkSQL Server这么做

public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException;public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException;publi... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中没有的能力,例如实时的日志获取,但是使用这个能力的时候需要将对应的实现类...

干货 | 在字节跳动,一个更好的企业级SparkSQL Server这么做

public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException; public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thr... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中缺乏的能力,例如实时的日志获取。但是使用该能力时,需要将对应的实现类转...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

管理来自外部资源的VS_VERSION_INFOFILEVERSION -优选内容

在字节跳动,一个更好的企业级 SparkSQL Server 这么做
public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException;public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException;public ... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中缺乏的能力,例如实时的日志获取。但是使用该能力时,需要将对应的实现类转换...
实验4:基于ECS+RDS搭建WordPress博客
❗❗❗注意:请严格根据实验所需资源进行创建,恶意创建超过数量的资源,官方将回收账号,并有权取消用户的活动参与资格,必要时追究违规用户的法律责任。### Step 5:提交实验结果5. 登录 **“个人账号”**,在文章末... nginx version: nginx/1.20.1```29. 执行以下命令,启动nginx。```systemctl start nginx```#### **安装** **PHP**30. 请依次执行以下命令来安装PHP。```yum -y install https://rpms.remirepo.net/e...
干货 | 在字节跳动,一个更好的企业级SparkSQL Server这么做
public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException;public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thrift.TException;publi... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中没有的能力,例如实时的日志获取,但是使用这个能力的时候需要将对应的实现类...
干货 | 在字节跳动,一个更好的企业级SparkSQL Server这么做
public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException; public TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req) throws org.apache.thr... version> ```在HiveConnection类中实现了将Java中定义的SQL访问接口转化为调用Hive Server2的RPC接口的实现,并且扩充了一部分Java定义中缺乏的能力,例如实时的日志获取。但是使用该能力时,需要将对应的实现类转...

管理来自外部资源的VS_VERSION_INFOFILEVERSION -相关内容

Actor模型 - 分布式应用框架Akka

避免对共享资源的竞争,Akka提供了一种称之为Actor的并发模型,粒度比线程还要小(但并不等同于协程),这表明你可以在系统当中创建及其大量的Actor,Akka不仅可以在单机上构建高并发程序,还可以构建高性能高吞吐量分布式... 更新内部状态,并且向其他 Actor 发送消息,然后处理 Actor3 发送的消息。## 小结在 Actor 模型里,每个 Actor 相当于系统中的一个组件,都是基本的计算单元。Actor 模式采用了异步模式,并且每个 Actor 封装了自...

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文

AS 的 Realtime Profilers 工具可以帮助我们在如下四个方面监测和发现问题,有的时候在没有其他 App 代码的情况下通过 Memory Profilers 还可以查看其内部的实例和变量细节。* CPU:性能剖析器检查 CPU 活动,切换... > android app bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。这个新格式对面向海外市场的 3rd Party App 影响较大,对面向国内市场的 App 影...

计算引擎在K8S上的实践|社区征文

# 背景由于公司近一年开始朝向在云原生方向开始发展,已经将部分业务应用迁移至Kubernetes上运行,并且形成了一套一站式应用研发全生命周期管理体系,提供了如项目管理、代码托管、CI/CD等功能。因此数据平台也面临着... apiVersion: apps/v1kind: Deploymentmetadata: name: spark-thrift-server-test namespace: default labels: app.kubernetes.io/name: spark-thrift-server-test app.kubernetes.io/version: v3....

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

API 发布历史

File QueryMoveObjectTaskInfo SubmitMoveObjectTask 新增媒资管理模块 3 个 API 批量删除 DirectUrl 模式文件 查询跨空间文件迁移任务状态 提交跨空间文件迁移任务 GetMediaList 请求参数 title 标题,支持模糊搜索音视频文件 获取音视频列表 2024-03-19 -- 视频剪辑的 Track 视频轨道列表中 Audio 、Video 和 Image 资源类型中 Source 资源下载地址支持挂载 TOS 方式 视频剪辑参数 2024-03-15 CreateSpace 请求参数中 Descri...

Kubectl 插件开发及开源发布分享 | 社区征文

实现对K8S集群中资源对象(包括deployment、service、ingress、replicaSet、pod、namespace、node等)的增删改查等操作。### 2.4 krewKrew 是 类似于系统的apt、dnf或者brew的 kubectl插件包管理工具,利用其可以... info. • checking distribution directory • --rm-dist is set, cleaning it up • loading go mod information • build prerequisites • writing effective config file • writing ...

数据探索神器:火山引擎DataLeap Notebook 揭秘

stop the process [More info on custom Spawners](https://jupyterhub.readthedocs.io/en/0.7.2/spawners.html). See a list of custom Spawners [on the wiki](https://github.com/jupyterhub/jupyterhub/wiki/Spawners).目前我们的服务不是运行在物理机上,所以不会通过 k8s 管理 server & kernel。考虑到运维 & 扩展,我们考虑使用 TCE 作为 notebook server 的载体,因此我们需要实现 TCE Spawner。设计 TCE spawner 时...

创建批量处理异步任务

本接口用于创建批量处理异步任务,单次支持批量处理最多 5000 个资源。 注意事项请求频率:单用户请求频率限制为 10 次/秒。 超时时间:超时时间约为 10 秒。 服务地址:veImageX 在全球多个区域部署,每个区域有自己对应的 OpenAPI 域名,不支持跨区域调用。具体详情请查看服务地址。 请求说明请求方式:POST 请求地址:https://imagex.volcengineapi.com/?Action=CreateBatchProcessTask&Version=2023-05-01 调试API Explorer您可以通过...

构建应用两地三中心容灾方案

步骤一:将容器集群注册/纳管到 DCP将容器集群注册/纳管到分布式云原生平台统一管理,后续可直接添加到联邦主控实例作为成员集群,用于联邦制资源分发。本场景使用的参数配置如下: 集群名称 云服务商 注册地域 注册方... 资源在多云集群中 LB 规格差异化配置。 以下为适配火山引擎 VKE、阿里云 ACK Deployment 的镜像地址差异化策略: Yaml apiVersion: core.kubeadmiral.io/v1alpha1kind: OverridePolicymetadata: name: dp-overri...

借助 MAD 助力你的 Android 应用开发|社区征文

同时结构化并发的特性也有助于对子任务更好地管理,Android 的各种原生库和三方库在处理异步任务时都开始转向 Kotlin 协程。### Suspend function在项目中,我们倡导使用挂起函数封装异步逻辑。在数据层 Room 或... @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertBanner(banner: Banner)}@Database(entities = arrayOf(Banner::class), version = 1)abstract class AppDatabase : RoomDatabase() { ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询