执行命令并获取工作目录

时间:2017-11-26 23:15:08

标签: c++ windows winapi

我想在C ++中执行shell命令,最后我想获取已执行进程的当前工作目录。 例如我执行命令cd C:\ 然后在命令的最后我想获取目录C:\ 并将其存储在变量中。

我尝试的是pipe = _popen(cmd, "r")来执行命令,但是在命令结束时,即使还没有调用_pclose(pipe),当我打电话给_getcwd(NULL, 0)时,我得到了正在运行的C ++程序的cwd,而不是来自_popen的改变后的cwd。

有谁知道,我怎么能做到这一点?

1 个答案:

答案 0 :(得分:-1)

我找到了解决方案:

我正在使用CreateProcess()创建一个新的“cmd.exe”进程,并在创建的进程中注入一段汇编代码。

http://forum.codecall.net/topic/61271-how-to-get-current-directory-of-another-process/

我将它与sample from msdn结合起来,用于重定向子进程的stdin和stdout。

相关问题