在Windows屏幕对话框弹出窗口中,全屏独占模式下的AWT帧最小化

我正在开发一个在全屏独占模式下使用awt框架的应用程序。 Everythings工作正常,直到Windows弹出窗口可见。 这将窃取焦点,我的应用程序将被最小化。

这是我的框架初始化代码:

if (ApplicationConfig.getInstance().useFullscreenMode()) { frame.setUndecorated(true); frame.setResizable(false); if (monitor.isFullScreenSupported()) { monitor.setFullScreenWindow(frame); if (monitor.isDisplayChangeSupported()) { DisplayMode defaultMode = new DisplayMode( (int) appDimension.getWidth(), (int) appDimension.getHeight(), 32, DisplayMode.REFRESH_RATE_UNKNOWN); monitor.setDisplayMode(defaultMode); frame.setFulscreenDisplayMode(defaultMode); DisplayMode selectedMode = monitor.getDisplayMode(); log.debug("Setting fullscreen display mode to " + selectedMode.getWidth() + "x" + selectedMode.getHeight() + " color depth: " + selectedMode.getBitDepth() + " refresh rate: " + selectedMode.getRefreshRate()); } else { log.error("Change display mode not supported"); } } else { log.error("Full screen not supported"); } } 

是否有解决方法或设置以避免这种情况?

窗口管理器通常不强制执行应用程序窗口模式,对于自定义显示模式应用程序,wm被强制要么让你退出全屏或最小化,因为它不能尊重维护你自己的窗口分辨率的另一个窗口的dpi设置。

这是一个原因,在Window OS的上下文中解释

对于某种自助服务终端系统是这样的吗? 然后将整个应用程序设置为shell,如下所述: 将Windows应用程序置于其他窗口之上并保持关注 – 始终如此

任务管理器仍然会弹出它,并且alt tabbing应该像往常一样工作。

在linux中进行单个应用程序登录的类似步骤: http : //www.instructables.com/id/Setting-Up-Ubuntu-as-a-Kiosk-Web-Appliance/?ALLSTEPS

要禁用USB修复,请参阅此问题的答案: https : //superuser.com/questions/33986/is-it-possible-to-disable-the-scan-and-fix-message-when-inserting-an- SD卡

请注意,第一个答案需要修复磁盘,如果您在下面滚动,则有禁用该特定对话框的步骤。

设置awt框架模态类型修复了我的问题。 正如Lorenzo所提到的,使用APPLICATION_EXCLUDE让框架始终位于顶部。 谢谢