C语言system函数打开一个仿真软件后c程序不执行
C语言system函数打开一个仿真软件后c程序不执行,而用system("start\"\"f:\\sedatools\\work\\2\\diodeex02.in");...
C语言system函数打开一个仿真软件后c程序不执行,而用system("start \"\"f:\\sedatools\\work\\2\\diodeex02.in");会出现一下界面
这是为什么,请教各位大神 展开
这是为什么,请教各位大神 展开
2个回答
展开全部
何必这么麻烦,直接用CreateProcess函数启动 diodeex02.in 不就可以了?
而且你用system启动的有可能会涉及到应用程序的运行目录和环境变量什么的.
编程的时候尽量少用控制台指令比较好.
而且你用system启动的有可能会涉及到应用程序的运行目录和环境变量什么的.
编程的时候尽量少用控制台指令比较好.
追问
system("start \"\"f:\\sedatools\\work\\2\\diodeex02.in");
system("f:\\sedatools\\work\\2\\diodeex02.in");
以上两条语句都试了试有问题,你能帮我把CreateProcess的代码写写吗?感激不尽!!
追答
#include "StdAfx.h"
#include "windows.h"
int main()
{
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE; //TRUE表示显示创建的进程的窗口
TCHAR cmdline[] =TEXT("c://program files//internet explorer//iexplore.exe http://community.csdn.net/");
CreateProcess (
NULL,
cmdline, //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
return 0;
}
上面是我在CSND上面找到CreateProcess的用法,这个是打开IE的,连参数都给弄进去了.
你的只用把参数替换一下就可以了,例子如下.
TCHAR cmdline[] =TEXT("f:\\sedatools\\work\\2\\diodeex02.in");
展开全部
你在cmd.exe里面手工输入start ""f:\sedatools\work\2\diodeex02.in可以执行吗?
看上去就由问题啊,为什么start 后面有2个" ?
看上去就由问题啊,为什么start 后面有2个" ?
追问
2是文件夹,
追答
我知道2是文件夹,我的意思是你的命令是:start ""f:\sedatools\work\2\diodeex02.in
在start后f:\前有两个双引号,我感觉正确的应该是
start "f:\sedatools\work\2\diodeex02.in"
所以想请你在检查下命令是否正确,你可以在cmd.exe里面手工输入这个命令看看是否执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询