是否有相当于X11的BlockInput()Windows功能?

时间:2013-09-04 16:45:40

标签: x11

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

关于BlockInput()的Windows文档:

  

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

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

1 个答案:

答案 0 :(得分:1)

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

program </dev/null

如果你想以编程方式执行相同的操作,那么你需要自己打开/ dev / null的句柄,fork()你的程序,使用dup2()将输入和输出句柄重新分配给/ dev / null句柄,然后exec()你的孩子计划。