返回信息流谁知道怎么在VC新建的进程中运行一个可执行文件
进程已经创建好了,问题是如何指定当前目录下要运行的可执行文件
好像直接写程序名字 无法运行
3Q
这是一条镜像帖。来源:北邮人论坛 / cpp / #9156同步于 2008/7/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
谁知道怎么在VC新建的进程中运行一个可执行文件
bbsbyr
2008/7/4镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 rebirthatsix 的大作中提到: 】
: 没太读明白
: 你可以直接用这个可执行文件再创建一个进程,也可以简单的用shell来执行
哦就是在当前目录下执行exe文件啊
我现在获取当前目录,然后再加上可执行文件名来执行
我记得不用获得当前路径,直接可以执行当前目录下执行exe文件
【 在 bbsbyr 的大作中提到: 】
: 哦就是在当前目录下执行exe文件啊
: 我现在获取当前目录,然后再加上可执行文件名来执行
: 我记得不用获得当前路径,直接可以执行当前目录下执行exe文件
可以用相对路径
【 在 bbsbyr 的大作中提到: 】
: 哦 这个相对路径怎么表示 我记得用\\aaa.exe好像不行
: 请问怎么表示
首先你得aaa.exe是放在哪个目录下的
【 在 rebirthatsix 的大作中提到: 】
: 把你的代码全贴上吧。。。。
: 这里面还涉及到createprocess的其他参数
char szCommandLine[255]=".\\Test.exe";
BOOL ret=FALSE; ret=CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
【 在 bbsbyr 的大作中提到: 】
: char szCommandLine[255]=".\\Test.exe";
: BOOL ret=FALSE; ret=CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
嗯,首先确定是multibyte的项目吧
然后这个程序是你手动运行还是在vs里run without debug的?
这两种运行方式的初始路径是不一样的
在vs里run的时候,最好把createprocess里的参数lpcurrentdirectory手动赋为当前可执行文件的路径,这样只要保证test.exe和Getcurrentdirectory的结果处于同一路径就可以执行