c++ - 如何在 C++ 中的 Windows 窗体应用程序中保持打开命令提示符?

标签 c++ winforms command-prompt

我用 Visual Studio 2010 用 C++ 编写了一个 Windows 窗体应用程序项目。我需要打开 cmd,然后键入特殊命令并运行其他程序。

我使用这个功能:

system("cmd.exe /c dir c:\\");

但是通过这个函数我只看到了 cmd 一秒钟,然后它就消失了。 然后我添加这一行:

cin.get();

但是没有成功。

我也使用这个功能:

char program[] = "C:\Windows\System32\cmd.exe";
WinExec((LPCSTR)program, SW_SHOWMINIMIZED);

但它也不起作用!你能帮我一下吗?

最佳答案

您尝试过以下方法吗?

system("cmd/k dir c:\\");

/k 在执行进程终止后保持 cmd 提示窗口打开。

但是,说实话,如果您愿意的话,使用 Windows 终端服务 API 进行更精细的控制可能会更好。但是,取决于您想做什么 - 这可能有点矫枉过正。

而且,关于你的第二个问题:不要忘记转义反斜杠:

const char program[] = "C:\\Windows\\System32\\cmd.exe";
WinExec((LPCSTR)program, SW_SHOWMINIMIZED);

引用文献: https://superuser.com/questions/306167/how-to-prevent-the-command-prompt-from-closing-after-execution

关于c++ - 如何在 C++ 中的 Windows 窗体应用程序中保持打开命令提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160012/

相关文章:

c# - 再次加载 Form1 的可视化 C# 代码

c# - WinForms 的 MVP 模式 - 访问用户输入的正确方法?

winforms - 如何将图像嵌入到Outlook HTML电子邮件中?

command-line - 在 Windows 批处理文件中打开文本文件和程序快捷方式

c++ - PMPI 和 otf2 : linking C code in CPP program

c++ - 如何将指针作为参数传递给方法?

c++ - 如何确保虚方法调用一直传播到基类?

windows - "Access is denied"带 NUL > index.html 命令

cmd - 带有不包含文件夹的Xcopy(子目录)

C++ Vector 删除特定项目,但会出现段错误