網(wǎng)站首頁 編程語言 正文
Windows下vs中對DLL、exe文件添加屬性信息
- 1. 建立一個(gè)動態(tài)庫項(xiàng)目
- 2. 給DLL文件添加屬性信息
- 2.1 使用vs添加資源文件
- 2.1.1 添加版本屬性資源文件
- 2.1.2 修改、更新信息
- 2.2 自建rc文件及宏定義文件
- 2.2.1 新建一個(gè)version.h的頭文件(這個(gè)頭文件的名字可以是任意的)
- 2.2.2 新建rc文件,并添加到項(xiàng)目中
- 2.3 查看效果
一直以來發(fā)布的SDK或可執(zhí)行文件,版本控制都是在內(nèi)部函數(shù)實(shí)現(xiàn),偶然發(fā)現(xiàn)居然可以通過右鍵屬性直接查看版本等信息,頓時(shí)覺得很不專業(yè),慚愧慚愧。
這里主要針對動態(tài)庫DLL文件,exe文件也是一樣的。
1. 建立一個(gè)動態(tài)庫項(xiàng)目
這里用的是vs2015,直接使用模板創(chuàng)建項(xiàng)目即可
- 添加新項(xiàng)目
- 選擇動態(tài)庫DLL
- 創(chuàng)建完直接編譯即可,生成的DLL文件,屬性中可以看到,信息是空的
2. 給DLL文件添加屬性信息
這里有兩種方法:
- 使用vs新建資源文件rc,然后直接在vs資源視圖中修改屬性信息。
- 自己創(chuàng)建rc資源文件,手動寫入信息;(這里可以創(chuàng)建一個(gè)頭文件,用于存放宏定義信息)
推薦使用第二種方法
2.1 使用vs添加資源文件
2.1.1 添加版本屬性資源文件
【右鍵項(xiàng)目】——【添加】——【資源】——【Version】——【添加】
會生成文件"test_version.rc"
2.1.2 修改、更新信息
在vs中,打開rc文件,直接可以修改信息。
2.2 自建rc文件及宏定義文件
之所以說是自建rc文件,是因?yàn)関s添加的資源文件,查看代碼內(nèi)容,不是很清晰,還不如在外部創(chuàng)建rc文件再添加進(jìn)工程的好。
2.2.1 新建一個(gè)version.h的頭文件(這個(gè)頭文件的名字可以是任意的)
#pragma once
#define MAJOR_VERSION 1
#define MINOR_VERSION 1
#define REVISION_VERSION 0
2.2.2 新建rc文件,并添加到項(xiàng)目中
- 這里新建說的是在文件夾中右鍵,新建文本文件,改后綴名為.rc
- 【右鍵工程】——【添加】——【現(xiàn)有項(xiàng)】,選擇剛才新建的rc文件
- 【右鍵rc文件】——【查看代碼】
- 可以看到目前rc文件內(nèi)容是空的,我們加入想要的信息
#include <windows.h>
#include "version.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
PRODUCTVERSION MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
BEGIN
BLOCK"StringFileInfo"
BEGIN
BLOCK"040904E4"
BEGIN
VALUE"CompanyName", "xxx"
VALUE"FileDescription", "xxx sdk"
VALUE"FileVersion", MAJOR_VERSION, MINOR_VERSION, REVISION_VERSION, 0
VALUE"LegalCopyright", "Copyright 2020-2022 xxx"
VALUE"OriginalFilename", "xxx"
END
END
BLOCK"VarFileInfo"
BEGIN
VALUE"Translation", 0x409, 1252
END
END
2.3 查看效果
編譯完成后,右鍵DLL文件,即可看到。
原文鏈接:https://blog.csdn.net/ShareProgress/article/details/125042240
相關(guān)推薦
- 2022-12-09 PyTorch中關(guān)于tensor.repeat()的使用_python
- 2022-05-16 淺談react?16.8版本新特性以及對react開發(fā)的影響_React
- 2022-04-04 asp.net使用原生控件實(shí)現(xiàn)自定義列導(dǎo)出功能的方法_實(shí)用技巧
- 2022-04-30 C語言鏈表實(shí)現(xiàn)商品庫存管理系統(tǒng)_C 語言
- 2022-05-29 python3中的類繼承你真的了解嗎_python
- 2022-11-05 Android實(shí)現(xiàn)雙曲線折線圖_Android
- 2022-11-28 matplotlib?雙y軸繪制及合并圖例的實(shí)現(xiàn)代碼_python
- 2023-02-26 Golang時(shí)間處理中容易踩的坑分析解決_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支