如何在一个CC++程序中一次性高效执行多个DOS命令?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1468个文字,预计阅读时间需要6分钟。
原因:由于领导认为批处理脚本的处理能力有限,需要使用EXE文件来启动。解决方案:已在网上找到将BAT文件转换为EXE的工具。
起因
最近给公司的一个系统写了个启动的脚本,但是领导说批处理这样的脚本太low了,要使用EXE来启动,未来还要使用加密工具对EXE进行加密。
好吧,我就在网上到处找bat转exe的工具,找了很久,都没有找到合适的,只有一个用winrar制作自解压包的方法还算可以,但是这玩意儿有两个坑爹的问题:
使用了自定义图标后,安装时会被360报告有木马;
用winrar制作的exe,其本质还是解压后执行,解压后的文件其实可以在系统临时目录下找到,因此以后想要加密其实很容易就会被破解;
所以最好的办法看来就是自己写一个exe了,考虑到我以前用过C,因此下载了Dev-Cpp这个工具来编写代码。
思路
在C语言中执行DOS命令的方法很多,如:ShellExecute, WinExec, CreateProcess等,但是这些接口都是只能一次执行一条命令,在我的启动脚本里有很多命令,有一些是设置环境变量的,这样就没法在代码中一条条执行脚本中的命令,必须要找到一个办法可以一次性执行多条命令。
在网上找了很久,最终确定使用CreateProcess,同时要使用管道技术。
本文共计1468个文字,预计阅读时间需要6分钟。
原因:由于领导认为批处理脚本的处理能力有限,需要使用EXE文件来启动。解决方案:已在网上找到将BAT文件转换为EXE的工具。
起因
最近给公司的一个系统写了个启动的脚本,但是领导说批处理这样的脚本太low了,要使用EXE来启动,未来还要使用加密工具对EXE进行加密。
好吧,我就在网上到处找bat转exe的工具,找了很久,都没有找到合适的,只有一个用winrar制作自解压包的方法还算可以,但是这玩意儿有两个坑爹的问题:
使用了自定义图标后,安装时会被360报告有木马;
用winrar制作的exe,其本质还是解压后执行,解压后的文件其实可以在系统临时目录下找到,因此以后想要加密其实很容易就会被破解;
所以最好的办法看来就是自己写一个exe了,考虑到我以前用过C,因此下载了Dev-Cpp这个工具来编写代码。
思路
在C语言中执行DOS命令的方法很多,如:ShellExecute, WinExec, CreateProcess等,但是这些接口都是只能一次执行一条命令,在我的启动脚本里有很多命令,有一些是设置环境变量的,这样就没法在代码中一条条执行脚本中的命令,必须要找到一个办法可以一次性执行多条命令。
在网上找了很久,最终确定使用CreateProcess,同时要使用管道技术。

