在Windows中,BlockInput()函数指示操作系统全局阻止所有GUI应用程序的鼠标和键盘输入,包括其他进程,而不仅仅是应用程序自己的进程。
关于BlockInput()的Windows文档:
阻止键盘和鼠标输入事件到达应用程序。 当输入被阻止时,来自鼠标或键盘的实际物理输入 不会影响输入队列的同步密钥状态(由报告 GetKeyState和GetKeyboardState),也不会影响异步 密钥状态(由GetAsyncKeyState报告)。但是,线程是 阻塞输入可以通过调用影响这两个关键状态 SendInput。没有其他线程可以做到这一点。
应用程序是否可以阻止鼠标和键盘输入到达同一X服务器会话中的其他GUI应用程序。
答案 0 :(得分:1)
如果你想启动一个没有输入的程序,你可以从shell中这样做:
program </dev/null
如果你想以编程方式执行相同的操作,那么你需要自己打开/ dev / null的句柄,fork()你的程序,使用dup2()将输入和输出句柄重新分配给/ dev / null句柄,然后exec()你的孩子计划。