У меня есть AXObserver зарегистрированы как так:AXObserverCallback элемент опорного
AXObserverCreate(pid, axObserverCallback, &_observer);
Это метод обратного вызова:
static void axObserverCallback(AXObserverRef observer, AXUIElementRef elementRef, CFStringRef notification, void *self) { .. }
И это, как я добавить уведомление:
AXObserverAddNotification(_observer, app, kAXFocusedWindowChangedNotification, self);
Я замечаю, что элемент, добавленный наблюдателю (для уведомления) (в приведенном выше примере «приложение»), похоже, не соответствует nd к одному набору в обратном вызове наблюдателя ("elementRef"). Похоже, это копия? По крайней мере, я не могу сравнивать их с ==, и если я их пропустил, они показывают другой адрес.
Есть ли способ сравнить AXUIElementRefs, которые являются копиями? (И это нормальное поведение, чтобы вернуть копию вместо оригинала?)