首页 > 代码库 > 给程序加外壳
给程序加外壳
这两天有这么一个任务:写一个 给指定的EXE加一个外壳 的程序,
该外壳需要做如下工作:
1. 判断当前时间是否晚于核查时间,如果早于核查时间,运行原指定EXE
2. 若晚于核查时间,且没有新程序,从设定网址下载新程序
3. 若晚于核查时间,且有新程序,直接运行新程序
而改程序,需要能够设定原EXE路径,设定下载程序网址,设定核查时间
最初的解决方案是如此: 将外壳需要做的工作写成一个命令行程序,几个关键变量用占位字符代替。保存在txt中。运行程序时根据用户输入,动态替换txt中占位符之后进行动态编译。然后将生成的命令行与EXE一同用winrar打包。打包操作用命令行执行,并且采用解压到临时文件,且设定覆盖模式为不覆盖新文件。
一番折腾之后。客户要求不使用SFX.
在客户的提点之下,意识到了可以用vs的命令行编译。
遂调整为如下方案:
新建一个命令行的项目,将改项目至于打包程序debug目录下,根据打包程序输入动态调整改命令行代码,并且将指定原EXE作为嵌入的资源加载到命令行程序中。而改命令行程序中需要完成将嵌入的资源释放到本地临时文件夹中。(最初是在命令行中直接调用,这样的问题是针对不同程序可能没有办法直接执行,并且无法将下载的程序嵌入打包好的程序里)
给程序加外壳
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。