将命令传递给正在运行的外部CMD

时间:2014-05-02 22:54:39

标签: c# cmd external

这是我的问题,我有一个当前正在运行的程序在后台运行,只能通过cmd窗口访问,在该窗口中您可以通过命令来控制所述程序。我想要做的是从我的c#winform发送命令到cmd然后执行命令。我基本上试图为这个程序编写一个gui代码。

干杯。

2 个答案:

答案 0 :(得分:1)

嗯,它涉及的更多,但这可以通过使用Windows Api来完成。 这意味着,您需要通过P / Invoke导入一些本机库。

首先,您需要获得控制台窗口的句柄。您可以通过FindWindowP/Invoke signature)完成此操作。

接下来发送一些击键有多个选项。我猜的最漂亮的是将SendMessageP/Invoke signature)与WM_KEYDOWNWM_KEYUP消息以及VK_密钥用作lParam参数。

答案 1 :(得分:0)

是的,它正在运行 - 您无法向正在运行的应用程序发送命令,除非它设计为以某种方式接受它们。它需要有一个开放端口或某种方式发送命令'到正在运行的应用程序

大多数应用<34;您无法修改&#34;只能在启动时使用特定参数调用,除非它们被设计为在运行时获取输入。