是否可以在没有用户选择gui的情况下监听键和鼠标事件?我想制作一个在没有gui的情况下在后台运行的程序,并响应用户交互,例如按ctrl-t
。
答案 0 :(得分:2)
窗口管理器将根据其配置跟踪焦点和直接输入。如果你的窗口管理器决定将输入发送到另一个程序,因为它正在强制改变焦点,那你就不走运了。
虽然程序缺乏重点,但如果它能够获得鼠标和键盘事件,那将是一个主要的安全漏洞。基本上任何小的不明显的后台程序都可能监视整个系统,甚至可能在此过程中窃取密码。
您唯一的希望是在窗口管理器中找到一个选项,这样您就可以在不改变焦点的情况下最小化程序。当然,无论你键入什么,只会进入最小化的程序(而不会影响系统的其余部分)。
另一种技术(绝不保证)是程序检测最小化事件,并在最小化事件处理程序中请求焦点。请注意,这样做(如果我正在编写窗口管理器)可以最小化窗口。