[英]Is it possible to send command to console window in which my program is running?
我知道system()
函數,但它創建了自己的環境,因此這里設置的每個變量都不會轉發到主控制台。 我想知道是否有可能發送命令,因為它將由用戶編寫或由* .bat文件執行?
我需要這個的原因是我尋找一種方法來設置父CMD進程的env變量。 是的,我知道系統不希望我這樣做,但也許有一些解決方法......
想法是創建應用程序,將設置為通過輸入管道發送給它的任何變量,如下所示:
echo Bob| setvar name
那么:
echo %name%
會產生Bob
整個想法是更容易設置任何程序輸出的變量(我知道如何使用for
命令),同時考慮到^!%
等特殊批處理字符的特殊性,因為這些在文件名中是允許的。 它會使許多cmd腳本變得更簡單。
您當然可以在與程序相同的控制台窗口中運行程序。 這是CreateProcess
的默認行為。 MSDN詳細介紹了共享控制台的相關進程之間發生的事情 。 在繼續運行自己的程序之前,您可能希望等待子進程終止。
但是,這對您的真正目標沒有幫助。 程序運行的窗口與其任何祖先進程的環境變量完全無關。 你必須到別處尋找解決你真正問題的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.