Как конвертировать Carbon AXUIElementRef в Какао NSWindow

В моем проекте я могу получить окно с мышью, и я могу использовать AXUIElementSetAttributeValue(element, kAXFrontmostAttribute, kCFBooleanTrue); сделать окно на верхний уровень временно. Поэтому я хочу преобразовать элемент в Какао NSWindow, а затем использовать makeKeyAndOrderFront сделать это всегда впереди. Кто-нибудь знает, как это реализовать.

+ (NSArray *)attributeNamesOfUIElement:(AXUIElementRef)element {
    NSArray *attrNames = nil;
    AXUIElementCopyAttributeNames(element, (const void*)&attrNames);

    AXUIElementSetAttributeValue(element, kAXFrontmostAttribute, kCFBooleanTrue);

    // Below lines doesn't work.
    HIObjectRef windowref=AXUIElementGetHIObject(element);
    NSWindow *cocoaWindow = [[NSWindow alloc]initWithWindowRef:windowref];

    return attrNames;
}

0 ответов

Другие вопросы по тегам