在 Windows 中从 C++ 启动.exe文件
starting an .exe file from c++ in windows
我尝试在c ++ Visual studio中从我的代码启动一个程序。我尝试了这些cmds:
system( "" C:/Program Files (x86)/scilab-5.3.3/bin/WScilex.exe"");
system( "start" C:/Program Files (x86)/scilab-5.3.3/bin/WScilex.exe"");
system( "" C:\Program "" Files""(x86)\scilab-5.3.3\bin\WScilex.exe"");
他们都没有工作,有没有人知道如何完成这项工作提前感谢
使用规范的ShellExecute
WinAPI函数。最简单的情况:
ShellExecute(hwnd, "open", "c:\MyProgramPath\WScilex.exe", NULL, NULL, 0);
有关更多信息,请参阅 http://msdn.microsoft.com/en-us/library/windows/desktop/bb776886(v=vs.85).aspx
不要尝试两次使用引号,就像在命令提示符 (cmd) 中所做的那样。在 c++ 代码中,如果文件路径中有"空格",则无需在引号中指定它。
您应该使用"WinExec"而不是"系统",因此不会显示控制台窗口。
例如
WinExec("C:\Program Files\VideoLAN\VLC\vlc.exe",0);
system
函数将字符串作为命令传递给 Windows [cmd.exe] 中的系统默认命令解释器。
因此,在命令的开头没有多余的空格:
system( ""C:/Program Files (x86)/scilab-5.3.3/bin/WScilex.exe"" );
[cmd.exe] 命令解释器对路径中的正斜杠感到满意。
您的第一次尝试:
system( "" C:/Program Files (x86)/scilab-5.3.3/bin/WScilex.exe"");
↑ 开头有一个多余的空间。空格很重要,因为命令字符串是用引号括起来的。但是您需要引号,因为路径包含一个空格。
您的第二次尝试:
system( "start" C:/Program Files (x86)/scilab-5.3.3/bin/WScilex.exe"");
↑ 不应编译。这不是真正的代码。至少不是您已成功编译和运行的代码。
您的第三次尝试:
system( "" C:\Program "" Files""(x86)\scilab-5.3.3\bin\WScilex.exe"");
↑ 开头有一个多余的空间。空格很重要,因为命令字符串是用引号括起来的。但是您需要引号,因为路径包含一个空格。
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- 如何在Visual Studio Code中重命名我的a.exe文件?
- 在VS Code中编译C / C ++时如何禁用自动创建EXE文件?
- 来自Visual Studio中控制台项目的exe文件?
- 在安卓应用程序中使用.exe文件
- 更新到 2020 年 5 月版本后,无法在 Visual Studio 2019 中创建.exe文件
- 有没有一种方法可以将数据从javascript发送到exe文件
- C++程序编译器在使用g++命令编译后自动运行exe文件
- 在位置上运行具有依赖项的.exe文件
- 是否可以将 EXE 文件作为 lib 文件链接到另一个项目?
- Qt .exe文件错误
- 如何检查 win32 exe 文件是否已运行?(使用 win32 API 代码)
- 获取 exe 文件夹路径的最佳方法?
- 从 Qt(release) 生成的文件执行.EXE文件时出错
- 如何将本地文件嵌入从C 项目生成的EXE文件中
- 在不同的计算机上运行.exe文件.(视觉工作室)
- 如何循环访问在 cmd 中获取参数的 exe 文件
- 将 14 GB 数据附加到 EXE 文件的末尾
- 将清单嵌入到 exe 文件