2012-12-08 33 views
1

大多数游戏(如果不是全部的话)不使用Lion的全屏功能。他们使用非官方的方法让自己全屏。问题是 - 无论我设置窗口的高度多高(我当前使用的是25级 - 使窗口高于状态栏及其图标),它不会出现在游戏中。我想达到类似于Steam的全屏重叠游戏的效果。这可能吗?如何使用setLevel:不会使窗口高于全屏游戏?

回答

1

全屏游戏通常不是windows。大多数此类应用程序正在使用CoreGraphics来捕获显示(请参见CGDisplayCapture),完全绕过窗口合成。 (所以你不能在其上显示内容。)请注意,这是完全“官方” - 这是一种与完全放映窗口不同的方法。

Steam通过让Steam启动程序将代码注入应用程序来显示状态弹出框。这不是一种技术,可以 - 或者应该 - 用于更一般的情况。

+0

有道理。有没有任何示例代码可以告诉我如何将这些代码注入到应用程序中?我需要使用碳吗? – evilgoldfish

+2

['mach_inject'](https://github.com/rentzsch/mach_inject)。但是请注意,如果你自己没有启动受害者进程(如Steam),它需要用户授权,并且如果你不是很小心的话,它会冒很大的风险让受害者崩溃。不要这样做。 – duskwuff