Qt 更改exe资源

allenhiman 2014-09-04 03:56:31
各位 请先听我说一下具体需求,可能稍微有点怪异
我需要做一个工具 这个工具可以更改另一个win32 exe的资源(图标,版本信息,二进制资源..等等)。

比如我想把notepad.exe的图标改成我自己的 red.ico, 版本号改为1.0.1.1
那么用我的这个工具就可以做到

最开始我用MFC实现了这个功能 主要就是使用了操作exe资源的那些API,BeginUpdateResource UpdateResource 等等
如果不考虑Linux Qt也算实现了吧,因为在windows下编译的Qt可以包含windows.h 能调用这些API。

现在的问题就是 如果在Linux下编译 如何实现这个功能呢 Linux下编译的话 有没有类似的这些API呢?

特别注意的是 我这个工具在Linux下要更改的仍然是win32的exe程序的资源 (这主要是我们的打包服务器是Linux)。
...全文
384 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenhiman 2015-01-23
  • 打赏
  • 举报
回复
无满意回答哦 最后还是用解析PE文件的方式解决了,就是模拟windowsAPI
blueice12 2014-09-16
  • 打赏
  • 举报
回复
Windows下比较方便,因为有现成的API可以用。Linux下,为什么不考虑一下wine呢?要么把你的程序和wine链接,要么就直接把windows上的程序直接在wine上跑,你可以试一下,我觉得应该能行。只要能实现功能,怎么简单怎么来,对吗?
allenhiman 2014-09-11
  • 打赏
  • 举报
回复
自己up一下 看看有没有牛人啊 为什么稍微怪异点的问题 就木人回答了呢
这是我工作了一天的成果,压缩包内包括Qt sqlite加密驱动所有的代码,以及一个调用例程,还有一个sqlite3shell.exe工具,用于加密数据库命令行下的分析。 使用这个加密驱动很简单,只需以下3步: 1. 将驱动的代码复制到你的app文件夹(共2个文件夹) 2. 在app的pro文件中加入 include(wxsqlite3/wxsqlite3.pri) include(zsqlitecipherdriver/zsqlitecipherdriver.pri) 3. 在需要的地方加入#include "zsqlitecipherdriver.h",这样就可以使用ZSQLiteCipherDriver类了,这个类是继承自QSqlDriver。所以可以传递给 QSqlDatabase::addDatabase。 详细的可以查看压缩包内源码。之后,main函数就可以这么使用sqlite的加密驱动: ZSQLiteCipherDriver *driver = new ZSQLiteCipherDriver(); QSqlDatabase db = QSqlDatabase::addDatabase(driver); db.setDatabaseName("test.db"); db.setPassword("123"); db.open(); ... 加密驱动的稳定性没有问题,是我从Qt的开源代码中,找到Sqlite没加密的驱动部分,然后修改的。修改的内容不多,最重要的是在数据库的open时,加入了sqlite3_key的调用,实现加密。 底层的加密实现,是来自wxsqlite3-3.0.6。这个我修改了一个宏定义,让其加密方式采用了AES256,而不是原来的AES128。 例程中包括了3个实用的函数,分别用来以某一密码打开或创建一个数据库,判断数据库是否处于解密状态,以及修改数据库密码。 sqlite3shell.exe跟官方提供的sqlite3.exe使用方法一样。只不过对于加密数据库,需要在对数据库进行任何操作前,先执行“PRAGMA key=xxx;”。通过这种方式输入数据库密码。检验之前的密码是否正确可以在命令行中键入“.databases”,如果没有错误提示,那就是解密成功了;如果密码错误,只能关闭sqlite3shell.exe,从头尝试了。 虽然这个资源,要的分数确实有点多,不过评价之后就能返还的。我相信这个资源值这个价值!下载后在Qt5上可以直接编译。不需要任何修改。Qt4上没试过,不承诺一定可用,但是应该没问题。
资源说明】 基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip 基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip 基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip基于Alpha-Beta剪枝Max-Min博弈树的五子棋对战AI源码+搜索优化+Qt UI界面(含exe可执行程序).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧