如何检测以全屏模式运行的非Java程序?

时间:2011-06-20 14:03:41

标签: java cross-platform fullscreen detect

我目前正在开发一个在后台运行的Java跨平台(windows和mac os x)应用程序,并在某些用户或系统的事件上显示弹出窗口,如“复制和粘贴”或程序启动。

然而,我想首先检测一下,如果任何其他程序,不一定用Java开发,是以全屏模式运行。在那种情况下,我不会显示我的窗口。 例如,当用户正在全屏观看电影时(媒体播放器...),一个Powerpoint演示......

所以这是我的问题: 1.有没有办法用Java语言做这样的事情? 2.如果不可能,我将使用另一种语言进行“全屏模式检测器”,但必须能够与我的Java应用程序通信才能通知全屏窗口。 3.如果不可能(1):你知道最好的语言吗?我在C#或C ++ MFC(How to check if an other program is running in fullscreen mode, eg. a media player)中找到了其他解决方案。

任何想法都会非常有用。 非常感谢。

塞巴斯蒂安

3 个答案:

答案 0 :(得分:1)

最后,我为每个操作系统执行了一个外部程序,检查活动窗口是否处于全屏模式,并将结果写入标准输出。我的Java应用程序根据操作系统调用好程序并读取结果。

我用过:

  • C#for Windows
  • 适用于Mac OS X的Carbon

最难的部分是Mac OS X版本。

如果您对这些计划感兴趣,请不要犹豫。

再次感谢您的帮助!

答案 1 :(得分:0)

你可以用java.awt.Robot捕获屏幕,你能实现基于截图的算法吗?

答案 2 :(得分:0)

最简单的解决方案是为用户提供启用/禁用弹出窗口的选项。这样他们就可以选择何时接收弹出窗口。