我想制作一个在MacOS的实时屏幕上添加水印的应用程序,并且水印应始终浮在其他应用程序之上。 我定义了一个自定义的透明窗口。除非在以下情况下,否则它可以正常工作:全屏模式,任务控制组合键向下,显示桌面组合键向下。
由于其他应用程序在全屏模式下不起作用,因此有可能在全屏模式下禁用其他应用程序
我注意到NSWindowLevel和CGWindowLevelKey,有人知道如何使用吗?
是否还有其他方法可以通过使用其他API使此应用浮动在其他应用之上? 我已附上我的实现以供您参考,并使用以下代码,然后水印窗口可能会浮在其他窗口之上。
Click here to download my project
class WaterMarkWindow: NSWindow {
override func awakeFromNib() {
super.awakeFromNib()
self.level = .floating;
self.ignoresMouseEvents = true;
self.isReleasedWhenClosed = false;
self.isMovableByWindowBackground = false;
self.alphaValue = 0.3
self.backgroundColor = NSColor.clear;
self.isOpaque = false;
self.hasShadow = false;
self.contentView?.wantsLayer = true;
}
}