2 s290484188 s290484188 于 2017.08.29 08:59 提问

MFC程序怎么才能调用win32控制台程序

1、我先写了个win32控制台程序,实现了在控制台每秒打印abc功能,a.exe
2、我想再写一个MFC程序,在其中调用这个a.exe;
我用WinExec("E:\a.exe",SW_SHOWMAXIMIZED);
控制台闪一下就没了
测试cmd
WinExec("C:\Windows\System32\cmd.exe",SW_SHOWMAXIMIZED);
这个可以调用

我试过使用CreateProcess(NULL,"E:\a..exe", NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi)
这个也是闪了一下控制台

请问这个怎么实现

2个回答

s290484188
s290484188   2017.08.29 09:27

因为用的动态库不在windows系统下,所以需要指定lpCurrentDirectory;

justin_bkdrong
justin_bkdrong   2017.08.29 09:44

要学会确定问题所在:
1 a.exe 是否正确? 输出信息到文件或者调试器
2 确定是否路径写的不正确 比如 “E:\a.exe” 就应该写成 "e:\a.exe"
3 学会调试,CreateProcess 有返回值的,也有进程的 id和线程id,看看这些值是否正确。
4 使用好多种API都能实现调用进程,多试几个 system("e:\a.exe") shellExecute CreateProcess 等.

Csdn user default icon
上传中...
上传图片
插入图片