|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2022/6/16 14:55:24 |
标题: |
Windows 程序中的版本信息如何做到动态变化? |
浏览:1531 |
|
加入我的收藏 |
楼主: |
一个程序,给3家公司使用。版本信息中要显示对应的公司名称。 能否实现(一个程序)?
此帖子包含附件:
大小:18.6K |
----------------------------------------------
武汉天气不好 |
作者: |
|
2022/6/16 14:59:29 |
1楼: |
打包三次很累吗?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
|
作者: |
|
2022/6/16 15:04:03 |
2楼: |
全部改成空。气死他们。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2022/6/16 16:38:49 |
3楼: |
打包三次是必须的。需要用到三个不同的资源文件。
----------------------------------------------
-
|
作者: |
|
2022/6/16 17:23:52 |
4楼: |
文件1.2G,包400M多。打包三次的确累。以后还要维护三个版本,也是麻烦。
现在程序是可以动态切换的。
空是一个选择。
----------------------------------------------
武汉天气不好
|
作者: |
|
2022/6/16 19:19:42 |
5楼: |
这个位置的信息我记得资源编辑器可以改? 源码好像可以指定资源文件吧?不用去配置工程。
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
|
作者: |
|
2022/6/16 19:37:47 |
6楼: |
搞不懂你的需求,版本里的公司名一般不都是开发的公司名吗?用户的公司名应该显示在关于窗口中吧? 有个简单的方法:用 Resource Hacker 可以直接修改资源信息,支持命令行。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
作者: |
|
2022/6/16 22:08:58 |
7楼: |
标准答案:安排一个工程组中的三个工程。分别编译一次。源代码是一套的。
----------------------------------------------
-
|
作者: |
|
2022/6/17 0:00:44 |
8楼: |
you can try this Script using ResourceHacker tool:
---------- @echo off :start1 set /p newVersion=Enter version number [?.?.?.?]: if "%newVersion%" == "" goto start1 :start2 set /p file=Enter EXE name [for 'program.exe' enter 'program']: if "%file%" == "" goto start2 for /f "tokens=1-4 delims=." %%a in ('echo %newVersion%') do (set ResVersion=%%a,%%b,%%c,%%d) ( echo:VS_VERSION_INFO VERSIONINFO echo: FILEVERSION %ResVersion% echo: PRODUCTVERSION %ResVersion% echo:{ echo: BLOCK "StringFileInfo" echo: { echo: BLOCK "040904b0" echo: { echo: VALUE "CompanyName", "MyCompany\0" echo: VALUE "FileDescription", "TestFile\0" echo: VALUE "FileVersion", "%newVersion%\0" echo: VALUE "LegalCopyright", "COPYRIGHT © 2019 MyCompany\0" echo: VALUE "OriginalFilename", "%file%.exe\0" echo: VALUE "ProductName", "Test\0" echo: VALUE "ProductVersion", "%newVersion%\0" echo: } echo: } echo: BLOCK "VarFileInfo" echo: { echo: VALUE "Translation", 0x409, 1200 echo: } echo:} ) >Resources.rc && echo setting Resources.rc ResourceHacker.exe -open resources.rc -save resources.res -action compile -log CONSOLE ResourceHacker -open "%file%.exe" -save "%file%Res.exe" -action addoverwrite -resource "resources.res" -log CONSOLE ResourceHacker.exe -open "%file%Res.exe" -save "%file%Ico.exe" -action addskip -res "%file%.ico" -mask ICONGROUP,MAINICON, -log CONSOLE xCopy /y /f "%file%Ico.exe" "%file%.exe" echo. echo. echo your compiled file %file%.exe is ready pause
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
|
作者: |
|
2022/6/17 9:00:27 |
9楼: |
一份代码收三份的钱,编译三次就嫌麻烦了? 哈哈
----------------------------------------------
-
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2022/6/17 10:17:32 |
10楼: |
统一打板,但给客户发版前通过 ResourceHacker.exe 结合 脚本动态修改 exe 资源中相关信息
参考这里:http://angusj.com/resourcehacker/
----------------------------------------------
-
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2022/6/17 10:30:15 |
11楼: |
或者一个邪恶的方法,给 explorer 注入 dll:
通过 hook 方式动态修改拦截 version.dll api 请求,发现是查询你的文件则返回预设信息,否则默认放行
----------------------------------------------
-
|
作者: |
|
2022/6/17 10:43:37 |
12楼: |
哈哈,楼上真的是无所不用其极。
----------------------------------------------
武汉天气不好
|
作者: |
|
2022/6/17 18:41:58 |
13楼: |
找个带资源编辑的加壳就可以了。
11楼的explorer 注入 dll,现在电脑都是32和64位进程了,还要考虑32位和64位的DLL注。这杀鸡用牛刀了
----------------------------------------------
123
|
|