使用Win32执行命令提示符的功能

时间:2009-03-29 14:46:39

标签: c++ c winapi

哪些Windows API函数可用于执行命令提示符的功能?例如,我喜欢执行dir命令,并希望在不使用Windows中的cmd.exe的情况下在GUI中显示输出。

5 个答案:

答案 0 :(得分:4)

您可以从流程中启动cmd /c dir S:\ome\Path并获取输出。否则就不可能。但是如果你对dir的特定格式化细节不感兴趣,那么你可能最好只枚举文件/目录并显示它们。

答案 1 :(得分:1)

dir命令内置于cmd.exe中,它不是单独的可执行文件。没有办法在没有运行cmd.exe的情况下执行它。

编辑:至于显示结果,您需要填写STARTUPINFO.hStdXXX成员,可能使用匿名管道。请参阅this example

答案 2 :(得分:0)

对于控制台应用,您可以使用 popen(),但从GUI应用程序来看,事情并非如此简单。有关一种方法,请参阅http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx

答案 3 :(得分:0)

如果您想要一个给定文件夹中的文件列表,请参阅此question,其中介绍了如何使用Windows api或更通用的提升方法来实现它。

答案 4 :(得分:0)

Windows命令行所做的一切都是通过Win32 API完成的。

例如,关于“dir”,FindFirstFile()和FindNextFile()将为您提供目录的内容。

对于任何给定的命令,您需要确定正在使用哪些API /函数调用,然后在您自己的代码中学习如何自己使用它们。