如何检测全屏应用程序是否在Windows中运行?

时间:2010-12-27 23:28:02

标签: java windows fullscreen

与信使一样,如果用户在全屏幕上运行某些程序,例如wmplayer,他们可以将其状态更改为“离开”。如果系统在全屏模式下运行,有什么方法可以找到JAVA吗?

2 个答案:

答案 0 :(得分:1)

AutoIt是一款功能强大的Windows GUI自动化工具,具有许多用于调查和调查的功能。除了其他方面与窗口交互。我知道他们提供了各种与外部AutoIt功能交互的方式,可能值得研究:

http://www.autoitscript.com/autoit3/index.shtml

答案 1 :(得分:0)

使用JNA(https://mvnrepository.com/artifact/net.java.dev.jna/jna

 public static boolean isAppInFullScreen()
 {
        WinDef.HWND foregroundWindow = User32.INSTANCE.GetForegroundWindow();
        WinDef.RECT foregroundRectangle = new WinDef.RECT();
        WinDef.RECT desktopWindowRectangle = new WinDef.RECT();
        User32.INSTANCE.GetWindowRect( foregroundWindow, foregroundRectangle );
        WinDef.HWND desktopWindow = User32.INSTANCE.GetDesktopWindow();
        User32.INSTANCE.GetWindowRect( desktopWindow, desktopWindowRectangle );
        return foregroundRectangle.toString().equals( desktopWindowRectangle.toString() );
 }

如果Windows中的任何应用程序/程序都以全屏模式运行,则返回true。甚至在F11模式下的浏览器都返回true。