Я искал что-то связанное с этой темой. Мне нужен WindowRef окна или части окна в определенном месте (положение мыши), и он должен быть над всеми окнами всех запущенных приложений ...
Я попробовал это с Carbon («Так как мое приложение полностью написано на C ++), но я обнаружил, что некоторые функции Carbon не работают должным образом (MacFindWindow, FindWindow, HIWindowFindAtLocation, FindWindowOfClass, HIWindowGetCGWindowID ...)
Может быть, я делаю это неправильно, Трудно поверить, что эти функции Carbon больше не будут работать в 64-битных архитектурах ...
Итак, в связи с вашим вопросом я нашел тот же код и попробовал это, но это не то, что мне нужно, я надеюсь, что это поможет вам в любом случае, и я буду продолжать искать и пытаться, пока не получу его (если ОС может сделать это каждый должен).
//if the process of the current window in the list matches our process, get the front window number
if(myPSN.lowLongOfPSN == currentAppPSN.lowLongOfPSN && myPSN.highLongOfPSN == currentAppPSN.highLongOfPSN)
{
NSNumber* windowNumber = [entry objectForKey:(id)kCGWindowNumber];
NSString* applicationName = [entry objectForKey:(id)kCGWindowOwnerName];
NSLog(@"The current app is %@ and the window number of its front window is %@.",applicationName,windowNumber);
CGRect bounds;
CGRectMakeWithDictionaryRepresentation((CFDictionaryRef)[entry objectForKey:(id)kCGWindowBounds], &bounds);
NSLog(@"WINDOW RECT BOUNDS; (x,y,width, height) = (%d,%d, %d, %d)", bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height);
break;
}
Также, перейдите по этой ссылке, я вам не помогу. Я уверен:
http://code.google.com/p/blazingstars/source/browse/trunk/PokerHK/HKLowLevel.m?r=70