【发布时间】:2012-07-12 07:05:27
【问题描述】:
我正在编写一个 Mac (10.6 / 10.7) 应用程序,该应用程序在允许用户访问计算机之前根据 Active Directory 域对用户进行身份验证(我被告知我不能允许用户通过传统方式登录登录服务)。我已准备好验证码,现在正尝试将登录窗口设为全屏且无法关闭。
Apple 的 Kiosk Mode API(此处的文档)似乎非常适合此操作,我已使用它来全屏显示窗口、禁用停靠栏/菜单栏/强制退出等,其中大部分都可以正常工作。但是,我发现当我将窗口视图设置为全屏模式时,尝试调出强制退出窗口会使应用程序崩溃(无论是桌面还是全屏并需要完全重启)。
代码示例:
NSApplicationPresentationOptions options =
NSApplicationPresentationHideMenuBar|NSApplicationPresentationHideDock|
NSApplicationPresentationDisableHideApplication|
NSApplicationPresentationDisableProcessSwitching|
NSApplicationPresentationDisableAppleMenu|
NSApplicationPresentationDisableForceQuit;
[NSApp setPresentationOptions:options];
[[_window contentView] enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];
我唯一能想到的是切换到全屏时 NSApplication 选项并没有完全保留;不过,除了禁用强制退出之外的所有选项似乎都可以继续使用。任何建议表示赞赏!
【问题讨论】:
标签: objective-c macos keyboard-shortcuts fullscreen kiosk-mode