无论如何,是否可以像mouseLocation那样全局获取键盘光标(插入符号)当前位置的坐标?

最佳答案

您可以获得的最接近的版本是使用OS X的可访问性协议。目的是帮助残障用户操作计算机,但是许多应用程序不支持它,或者对它的支持程度不高。

该过程将类似于:

appRef = AXUIElementCreateApplication(appPID);
focusElemRef = AXUIElementCopyAttributeValue(appRef,kAXFocusedUIElementAttribute, &theValue)
AXUIElementCopyAttributeValue(focusElemRef, kAXSelectedTextRangeAttribute, &selRangeValue);
AXUIElementCopyParameterizedAttributeValue(focusElemRef, kAXBoundsForRangeParameterizedAttribute, adjSelRangeValue, &boundsValue);


由于对协议的支持不一,对于许多应用程序,您将无法超越FocusedUIElementAttribute步骤,但这确实适用于某些应用程序。

10-08 08:06