我已经在c#中编写了一个ssh服务器,我认为将PowerShell作为shell连接是很好的.我已经尝试了两种方法来使其正常工作,但两者都远非完美.这是我尝试过的:
所以我想做的是有一组函数替换控制台应用程序使用的常规控制台输入/输出函数,所以我可以处理它们.但这似乎相当激烈,以至于成为一个糟糕的设计理念(imo).
现在我的想法是通过发送具有本机/ Pinvoke函数(如WriteConsoleInput)的相关键来操纵控制台.我认为有可能以这种方式伪造控制台.但我不知道如何"读取"控制台上发生的事情.
还要记住,这是一项服务,所以最好它不应该产生一个真正的控制台窗口,尽管可能在Windows会话0中不会出现并且无关紧要.