我该如何着手在OSX中编写HUD类型覆盖。我希望能够有一个应用程序,可以在不同的应用程序窗口上的某个点显示文本。
因此,如果(其它应用程序)窗口移动,则HUD部分将保持在与其它窗口相同的坐标。
发布于 2009-12-01 23:52:56
对于窗口本身,使用一个无边框、透明的窗口(有很多示例)和您自己的自定义视图,以便在其中绘制覆盖的元素。
对于“其他应用程序的窗口”部分,没有任何公共API可以让您顺利地完成这项工作。你使用Universal Access和它的窗口定位/导航API,但是它需要你的用户打开"Enable access for assistive“(我认为这仍然不能通过编程的方式来完成)。我不相信当窗口移动时它会“让你知道”,但我可能错了。如果是这样的话,它很可能只是一次“我现在所在的地方”,所以你的覆盖可能不会跟上。我也不认为它会给你提供“窗口级别”来让你确保你“在”任何给定的窗口/工作表/调色板之上。
唯一的另一种选择(与其他应用程序的窗口一起移动)是一个系统范围的、侵入性的黑客应用程序增强器(这是相当有争议的)。这很容易出错,并破坏用户系统的稳定性(因此引起了争议)。
发布于 2010-05-07 19:30:06
您可以使用未记录的CoreGraphics函数来跟踪窗口,请参见http://code.google.com/p/undocumented-goodness/source/browse/trunk/CoreGraphics/CGSPrivate.h
https://stackoverflow.com/questions/1825280
复制相似问题