【发布时间】:2009-03-29 14:46:39
【问题描述】:
哪些 Windows API 函数可用于执行命令提示符的功能?例如,我喜欢执行 dir 命令,想在 GUI 中显示输出,而不是在 Windows 中使用 cmd.exe。
【问题讨论】:
哪些 Windows API 函数可用于执行命令提示符的功能?例如,我喜欢执行 dir 命令,想在 GUI 中显示输出,而不是在 Windows 中使用 cmd.exe。
【问题讨论】:
您可以从您的流程中启动cmd /c dir S:\ome\Path 并获取输出。否则是不可能的。但是,如果您对 dir 的特定格式细节不感兴趣,那么您最好枚举文件/目录并显示它们。
【讨论】:
dir 命令内置在 cmd.exe 中,它不是单独的可执行文件。不运行 cmd.exe 是没有办法执行的。
编辑:至于结果的显示,您需要填写 STARTUPINFO.hStdXXX 成员,可能使用匿名管道。见this example。
【讨论】:
对于控制台应用程序,您可以使用 popen(),但对于 GUI 应用程序而言,事情绝非如此简单。请参阅http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx 了解一种方法。
【讨论】:
如果您想要给定文件夹中的文件列表,请参阅question,它描述了如何使用 windows api 或更通用的 boost 方法来实现它。
【讨论】:
Windows 命令行所做的一切都是通过 Win32 API 完成的。
例如,关于“dir”,FindFirstFile() 和 FindNextFile() 会给出一个目录的内容。
对于任何给定的命令,您都需要弄清楚正在使用哪些 API/函数调用,然后自己学习如何在自己的代码中使用它们。
【讨论】: