当前位置:  开发笔记 > 编程语言 > 正文

使用start在Windows下启动应用程序

如何解决《使用start在Windows下启动应用程序》经验,为你挑选了1个好方法。

我注意到我可以通过编写start filename来启动一个带有相关处理程序的程序.但是,对于某些文件,我得到的只是一个控制台,我不知道为什么.我正在尝试在MFC中填充列表控件,我想让程序和它的关联处理程序在我双击选择时运行.有没有更好的方法,或解释为什么这不起作用?
这是可能成为问题的代码:

int selection = listControl.GetCurSel();
CString text;
listControl.GetText(selection,text);
string std_str = StringUtils::CStringToString(text);
string st = string("start \"")+std_str+string("\"");
const char* command = st.c_str();
system(command);



1> Michael Burr..:

如果start命令行中的第一个参数用双引号括起来,它会将其用作窗口标题而不是命令.这很蹩脚,但这就是它的作用......

尝试

string st = string("start \"\" \"")+std_str+string("\"");

代替.

但是,如果您正在尝试从进程中获取文件的shell处理程序,那么更好,更清晰的方法来执行此操作而不是调用该start命令是使用ShellExecute()ShellExecuteEx()Win32 API.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有