无论如何,是否可以像mouseLocation
那样全局获取键盘光标(插入符号)当前位置的坐标?
最佳答案
您可以获得的最接近的版本是使用OS X的可访问性协议。目的是帮助残障用户操作计算机,但是许多应用程序不支持它,或者对它的支持程度不高。
该过程将类似于:
appRef = AXUIElementCreateApplication(appPID);
focusElemRef = AXUIElementCopyAttributeValue(appRef,kAXFocusedUIElementAttribute, &theValue)
AXUIElementCopyAttributeValue(focusElemRef, kAXSelectedTextRangeAttribute, &selRangeValue);
AXUIElementCopyParameterizedAttributeValue(focusElemRef, kAXBoundsForRangeParameterizedAttribute, adjSelRangeValue, &boundsValue);
由于对协议的支持不一,对于许多应用程序,您将无法超越
FocusedUIElementAttribute
步骤,但这确实适用于某些应用程序。