0

我正在编写一个 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 选项并没有完全保留;不过,除了禁用强制退出之外的所有选项似乎都可以继续使用。任何建议表示赞赏!

4

1 回答 1

0

这实际上是 Mac 上全屏应用程序的正常行为。当您在全屏应用程序中使用 Cmd+Opt+Esc 时,它将立即终止已捕获屏幕的进程,而不是呈现标准的终止 UI。

于 2012-07-12T13:57:27.407 回答