NSWindow-不惜一切代价阻止全屏

时间:2019-03-12 00:27:59

标签: nswindow

我正试图让NSWindow变得非常顽固,并且完全不了解其他应用提出的全屏请求。

简而言之,我希望我的应用程序主宰第二台监视器,并且即使一个(例如)切换到Finder并选择View > Enter Full Screen,我的窗口仍将保留。目前,它已转移到全屏取景器窗口。

到目前为止附带的代码是:

CGRect boardFrame = ...
NSArray <NSScreen *> *myScreens = [NSScreen screens];
NSScreen *s = [myScreens objectAtIndex:1];
NSWindow *window = [[NSWindow alloc] initWithContentRect:boardFrame
                                               styleMask:NSWindowStyleMaskBorderless
                                                 backing:NSBackingStoreBuffered
                                                   defer:NO
                                                  screen:s];
[window setLevel:NSMainMenuWindowLevel+2];  // remove menu bar
[window makeKeyAndOrderFront:NSApp];
[window setCanHide:NO];
[window setOpaque:YES];                     // speed up rendering
[window setHasShadow:NO];

我的窗口将显示内容作为信息面板(以餐厅菜单为准);它不应让计算机上的用户执行任何操作。

是否有任何以故障安全方式实现此目标的提示?我快到了。

0 个答案:

没有答案