如何访问 .batch 打开的 CMD?
Posted
技术标签:
【中文标题】如何访问 .batch 打开的 CMD?【英文标题】:How do I access CMD opened by .batch? 【发布时间】:2021-04-01 21:04:50 【问题描述】:到目前为止我的程序:
using System;
using System.Diagnostics;
const string batDir = @"C:\Program Files (x86)\Microsoft Visual
Studio\2019\Professional\Commom7\Tools";
var process = new Process StartInfo = WorkingDirectory = batDir, FileName = "VsDevCmd";
process.start();
var modules = process.Modules;
foreach (ProcessModule processModule in modules)
//In here you can find the cmd.exe which gets executed by the .batch
//For example here you could access the memory address of the cmd prompt
我想要做的是访问由我启动的 .batch 文件准备和执行的命令提示符。当您像往常一样向进程发出命令时,它无法检测到它,因为该命令是在 .batch 启动 cmd-Prompt 以识别它之前执行的。
【问题讨论】:
【参考方案1】:要自动附加到现有控制台,必须由附加到该控制台的程序启动控制台程序。
对于由 GUI 程序启动的程序
如果一个控制台程序将被赋予一个新的控制台。
如果是 GUI 程序,它不会获得控制台,但是它可以使用 AttachConsole API 调用来附加到任何控制台。
编译为控制台程序。
【讨论】:
以上是关于如何访问 .batch 打开的 CMD?的主要内容,如果未能解决你的问题,请参考以下文章