| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11828 人关注过本帖
标题:用C语言运行另一个.exe程序
只看楼主 加入收藏
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8914
专家分:2567
注 册:2004-3-25
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:11 
用C语言运行另一个.exe程序
问题描述:

做了一个Python的小项目,需要运行里面的start.exe,跟start.exe在一个目录的还有一大堆dll、exe、zip文件,可能用户会一下子找不到start.exe不知道怎么启动。

所以想把start.exe跟里面杂七杂八的库文件都放进一个文件夹pythonapp,用C语言做一个run.exe,当用户点击run.exe的时候,run.exe负责去打开运行/pythonapp/start.exe

C语言写的run.exe跟文件夹pythonapp处在同一个目录:
pythonapp/start.exe
run.exe

点击run.exe既不要出现dos窗口也不要出现windows窗口,只要能让运行pythonapp/start.exe就行了,请各路大侠支招
搜索更多相关主题的帖子: 运行 exe C语言 
2010-03-05 17:29
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
用C++要好一些,CreateProcess这个函数,用C 语言windows下的不会,linux下可用exec族调用,不过调用的不是exe了
2010-03-05 18:03
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
用C++要好一些,CreateProcess这个函数
用C 语言在windows下的不会,linux下可用exec族调用,不过调用的不是exe了
2010-03-05 18:04
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8914
专家分:2567
注 册:2004-3-25
收藏
得分:0 
对C语言不了解,如果C语言确实实现很麻烦,用C++也可以

畅所欲言
2010-03-05 18:20
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:50 
#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
           LPSTR lpCmdLine,
                   int nShowCmd)
{
    WinExec("c:\\windows\\system32\\mspaint.exe",SW_HIDE);
    return 0;
}

想象力征服世界
2010-03-05 18:45
邶风
Rank: 5Rank: 5
等 级:职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
收藏
得分:50 
vc新建Windows32工程run 类型选择简单Windows程序
然后打开你run.cpp程序 复制程序:
程序代码:
// run.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     // TODO: Place code here.
    WinExec("pythonapp\\start.exe",SW_SHOW);
    return 0;
}
编译后把pythonapp文件夹放在run.exe程序旁边就可以了~~


//楼上的那个标志其实是弄隐藏的进程

[ 本帖最后由 邶风 于 2010-3-5 19:27 编辑 ]

#include
2010-03-05 19:13
邶风
Rank: 5Rank: 5
等 级:职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
收藏
得分:0 
回复 楼主 静夜思
老大 Python我自学过一个月 感觉没多大用处
一般Python用在哪些地方领域 我也做做几个小工程 不然白学荒废了

#include
2010-03-05 19:17
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8914
专家分:2567
注 册:2004-3-25
收藏
得分:0 
回复 7楼 邶风
做重业务逻辑不重效率的软件比较有优势,我打算做一个在本地电脑上解压压缩包后点击run.exe即可运行的WEB应用(论坛、群聊天室),不需要做其它的任何设置,也不需要搭建任何环境。python这方面的框架资源比较多,到时候会把源代码发到本论坛python版块。

畅所欲言
2010-03-05 20:09
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8914
专家分:2567
注 册:2004-3-25
收藏
得分:0 
问题已解决,我在1楼描述的不是很清楚,只要隐藏run.exe的运行窗口就可以了,python/start.exe的运行窗口不用隐藏,我用5楼的SW_HIDE参数试了一下把被运行程序的窗口(python/start.exe)也隐藏了,6楼用SW_SHOW并不会让run.exe出现窗口(没编译之前以为会出现DOS窗口的)

另外有个小小的疑问,5楼用#include<windows.h> 和6楼用#include "stdafx.h"效果是不是一样的?用#include "stdafx.h"会不会额外增加开销?会不会把MFC框架也编译进去?

畅所欲言
2010-03-05 20:32
邶风
Rank: 5Rank: 5
等 级:职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
收藏
得分:0 
以下是引用静夜思在2010-3-5 20:32:37的发言:

问题已解决,我在1楼描述的不是很清楚,只要隐藏run.exe的运行窗口就可以了,python/start.exe的运行窗口不用隐藏,我用5楼的SW_HIDE参数试了一下把被运行程序的窗口(python/start.exe)也隐藏了,6楼用SW_SHOW并不会 ...
vc建的工程里面的stdafx.h包含了Windows.h,其实是一样的啦    ~~
这个在预编译的时候弄好了,运行时的开销是等价的
这个只有调用了一个WINAPI ,并没有涉及到MFC的内容~~~

[ 本帖最后由 邶风 于 2010-3-5 20:43 编辑 ]

#include
2010-03-05 20:42
快速回复:用C语言运行另一个.exe程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017733 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved