gpt4 book ai didi

c# - 向无窗口命令行进程发送命令(从 C# 应用程序启动)

转载 作者:太空狗 更新时间:2023-10-29 23:25:38 26 4
gpt4 key购买 nike

我有一个命令行应用程序可以启动并执行一些工作。在此期间,它会监听击键(s => 显示状态)。它不是您按“s”和 的典型命令提示符 - 它是在按下键后立即使用react并显示状态的类型。

现在我正尝试通过发送击键从花哨的 GUI 应用程序“控制”该命令行应用程序。我尝试了更传统的方法来写入 Process 的 StandardInput,但这似乎根本没有效果。此外,因为实际进程没有窗口(它以 CreateNoWindow=true 开始),所以我无法尝试使用 Win32 API 将击键发送到窗口。

还有其他方法吗?

最佳答案

花哨的控制台应用程序是有问题的。

他们倾向于直接读取键盘输入,而不是通过标准输入。他们还倾向于直接控制控制台,而不是通过标准输出。

据我所知,无法以编程方式控制这些应用程序。如果你真的,真的需要,我会探索类似 AutoHotKey 的东西在私有(private)设备上控制应用程序 desktop (AHK 使用虚拟键盘/鼠标驱动程序)。不过,我不确定您将如何从控制台读取结果; 可能可以创建一个由您的程序(在私有(private)桌面中)启动并启动目标应用程序的中间控制台应用程序。然后中间应用程序将 share its console使用目标应用程序并使用 low-level I/O检测变化。

或者您可以使用 Detours使目标应用屈服于您的意愿。

关于c# - 向无窗口命令行进程发送命令(从 C# 应用程序启动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626833/

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