C++ShellExecute的工作方式与cmd.exe不同
C++ ShellExecute is not working the same way as cmd.exe
我正在运行这个命令
w_icrcom.exe j11 hola
在命令提示符下并且运行正常的情况下,exe正在使用参数运行。
但是当我在C++程序中执行同样的操作时,w_icrcom.exe
的行为会有所不同。我收到一个错误,说"异常程序终止"。不过,只有当您将参数传递给"w_icrcom.exe"时,才会发生这种情况。
在我看来,当我执行一个命令时,一切都很好,但当其他程序试图执行相同的命令时,它不起作用,我会得到"异常程序执行"错误。
我在ShellExecute
上尝试了同样的设置,调用notepad.exe
并传递参数,效果很好。对这个问题有什么合乎逻辑的解释吗?
string test_var = ("j11 hola");
ShellExecute(0, "open", "C:\Users\PC\Desktop\My First\connect\bin\w_icrcom.exe", test_var.c_str(), 0, SW_SHOW);
ShellExecute
的倒数第二个参数是"工作目录"。它可能需要设置为cmd提示符中正在工作的当前目录。
相关文章:
- cmd.exe与Powershell中C++程序的不同执行时间
- 无法使用QProcess在cmd.exe中执行复制命令
- CMD.EXE与CreateProcess致电后立即关闭
- 如何在C++程序中打开一个新的cmd.exe并获取其句柄
- 无法读取在cmd.exe管道下启动的进程的输出
- CreateProcess cmd.exe读/写管道死锁
- CreateProcess正在调用cmd.exe,包括没有显示(闪烁)窗口的参数
- 将多个cmd.exe参数/参数传递给Shellexecute(ex)
- cmd.exe打开PDF并打印它
- C 向CMD.EXE监视命令注入DLL
- C 如何通过同一MFC应用程序通过System Command打开Excel文件后关闭CMD EXE
- CMD.EXE中的控制台输出,通过C 进行powershell.exe
- 使用 QProcessEnvironment 更改 cmd.exe 的 PATH 环境变量
- C++ - 将 ASCII 输出到 cmd.exe
- 使用 cmd.exe 显示或捕获完整的程序输出
- C++ShellExecute的工作方式与cmd.exe不同
- Eclipse CDT - 如何在外部控制台 (cmd.exe) 中运行编译.exe
- VC++ std::system() API 在调用 CMD.exe 后立即返回
- 使用加载库( "cmd.exe" ) 但不起作用
- 将文本信息从 Windows 命令解释器 (cmd.exe) 管道到字符数组