gpt4 book ai didi

c++ - 是否可以将命令发送到运行我的程序的控制台窗口?

转载 作者:可可西里 更新时间:2023-11-01 09:35:11 24 4
gpt4 key购买 nike

我知道 system() 函数,但它创建了它自己的环境,所以这里设置的每个变量都不会转发到主控制台。我想知道是否可以发送由用户编写的命令或由 *.bat 文件执行的命令?

我需要这个的原因是我正在寻找一种方法来设置父 CMD 进程的环境变量。是的,我知道系统不希望我这样做,但也许有一些解决方法...

想法是创建一个应用程序,它将通过输入管道发送给它的任何东西设置为一个变量,如下所示:

echo Bob| setvar name

那么:

echo %name%

会产生Bob

整个想法是通过考虑特殊批处理字符如 ^! % 因为这些在文件名中是允许的。它会使许多 cmd 脚本变得更简单。

最佳答案

您当然可以在与您的程序相同的控制台窗口中运行程序。这是 CreateProcess 的默认行为. MSDN 在 what happens between related processes sharing a console 上有更多详细信息.在继续运行您自己的程序之前,您可能希望等待子进程终止。

但是,这对您的真正目标没有帮助。程序运行的窗口与其任何祖先进程的环境变量完全无关。你必须 look elsewhere以解决您的实际问题。

关于c++ - 是否可以将命令发送到运行我的程序的控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10686928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com