【发布时间】:2012-07-11 04:19:03
【问题描述】:
我正在编写一个 Mac (10.6 / 10.7) 应用程序,该应用程序在允许用户访问计算机之前根据 Active Directory 域对用户进行身份验证(我被告知我不能允许用户通过传统方式登录登录服务)。我已准备好验证码,现在正尝试将登录窗口设为全屏且无法关闭。
Apple 的 Kiosk Mode API (documentation here) 似乎非常适合这个,我用它来全屏显示窗口,禁用停靠栏/菜单栏/强制退出等,所有这些都可以正常工作.我遇到的问题是我似乎无法阻止用户简单地 CMD+Q 退出应用程序。
当用户可以退出时,信息亭模式应用程序没有任何意义,所以我假设我错过了一些东西。下面是我正在做的一个例子:
NSApplicationPresentationOptions options =
NSApplicationPresentationHideMenuBar|NSApplicationPresentationHideDock|
NSApplicationPresentationDisableHideApplication|
NSApplicationPresentationDisableProcessSwitching|
NSApplicationPresentationDisableAppleMenu| NSApplicationPresentationDisableForceQuit;
[NSApp setPresentationOptions:options];
[[_window contentView] enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];
结果:全屏窗口,没有菜单栏,没有停靠,不能强制退出,也不能 CMD+Tab 离开屏幕。 CMD+Q 仍然会退出应用程序。
【问题讨论】:
-
@Blastfire 的诀窍是什么?
-
您应该使用正确的解决方案编辑您自己的问题并接受它为正确的。或者接受正确的,这样其他人就可以从中受益
标签: objective-c macos keyboard-shortcuts fullscreen kiosk-mode