【问题标题】:How to disable PrintScreen by GTK in Linux?如何在 Linux 中通过 GTK 禁用 PrintScreen?
【发布时间】:2013-10-24 22:02:14
【问题描述】:

有没有办法在 linux 中使用 C++ 代码来阻止 PrintScreen 键?我正在编写一个不希望用户获取屏幕截图的 C++ 程序。我试过 g_signal_connect 来阻止 PrintScreen 键,但它似乎甚至没有触发。

【问题讨论】:

  • 看起来像the XY problem。您将如何防止用户从监视器上抢购图片?你将如何阻止他通过视频捕获设备传递视频信号?为什么你认为你需要阻止用户使用 PrintScreen?您是否尝试过拔出钥匙(可能使用螺丝刀或锤子)?

标签: c++ linux printscreen


【解决方案1】:

为什么要阻止打印屏幕键工作?!

无论如何,至少在 Linux 上,这是不可能的:当按下打印屏幕键时,窗口管理器会启动一个小程序,该程序会捕获聚焦的 X 窗口(或整个桌面或其他任何东西)并将其写为 PNG -- 这发生在你的应用程序之外,除非你控制了整个桌面会话,否则真的没有办法阻止它。

如果你真的想要,你可以尝试安装一个钩子,它会在按下打印屏幕时通知并立即使你的窗口空白(并运行快照实用程序),尽管这很容易解决它似乎毫无意义。

例如,用户可以将捕获快捷方式配置为其他内容,或者从终端手动运行 gnome-screenshot。而且,即使您确实成功了,您如何避免有人掏出手机对显示器拍照?

【讨论】:

  • 是的,你是对的。我正在使用钩子,但并不完美。
猜你喜欢
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
相关资源
最近更新 更多