将文本命令发送到C中的另一个程序

时间:2017-05-08 16:34:03

标签: c command

如果我想在Windows操作系统中创建 C程序,可以将键盘命令发送到另一个程序(notepad.exe,我可以说),我应该学到什么?

2 个答案:

答案 0 :(得分:0)

C11标准(它在文档中:read n1570)不知道键盘或其他正在运行的程序(除非能够通过某些未指定的 command processor system function来自<stdlib.h>)。

(在纯标准C11中,没有其他程序与您一起运行:C标准未提及processes这是一个特定于操作系统的概念)

否则,您需要一些能够执行operating systemsystem call特定库(或函数,或inter-process communication)。对于Linux,请先阅读Advanced Linux Programming。您可能需要了解有关实施display serverwindow system的更多信息。

我建议您花几天时间阅读Operating Systems : Three Easy Pieces,以便对操作系统有一个很好的了解。

你提到了一些notepad.exe所以你的操作系统可能是一些Windows。我从未使用过Windows,但在本章中找到了关于Interprocess Communication on Windows的文章。

如果您接受C ++编码,可以考虑使用某些跨平台库,例如libsdlGTK(或Qt。)

答案 1 :(得分:-1)

当你运行一个程序时,它将是一个内存中的进程。因此,当你有两个进程在运行时,你可以使用函数sigaction或signal向这些进程发送信号。使用头函数'signal.h'来做所以,当你想发送键盘命令时,请使用适当的信号。