0

在 Windows 中,BlockInput()函数指示操作系统全局阻止所有 GUI 应用程序的鼠标和键盘输入,包括其他进程,而不仅仅是应用程序自己的进程。

来自有关 BlockInput() 的 Windows 文档:

阻止键盘和鼠标输入事件到达应用程序。当输入被阻塞时,来自鼠标或键盘的真实物理输入不会影响输入队列的同步键状态(由 GetKeyState 和 GetKeyboardState 报告),也不会影响异步键状态(由 GetAsyncKeyState 报告)。但是,阻塞输入的线程可以通过调用 SendInput 来影响这两种键状态。没有其他线程可以做到这一点。

有什么方法可以阻止鼠标和键盘输入到达同一 X 服务器会话中的其他 GUI 应用程序。

4

1 回答 1

1

如果你想在没有输入的情况下启动一个程序,你可以从 shell 中这样做:

program </dev/null

如果你想以编程方式做同样的事情,那么你需要自己打开一个到 /dev/null 的句柄,fork() 你的程序,使用 dup2() 将输入和输出句柄重新分配给 /dev/null 句柄,然后执行() 您的子程序。

于 2013-09-04T19:14:25.737 回答