I want to find which applications are running, particularly I want to know which one has a window that has focus. So at any given time I want the app to know which applicati
Have a look at GetFrontProcess and CopyProcessName (or GetProcessInformation).
Or have a look at NSWorkspace::activeApplication.
EDIT: the reference documentation says
It is strongly suggested that you use the NSRunningApplication methods currentApplication or active to retrieve this information in post Mac OS X v10.6 targeted applications.
To get a list of running applications:
NSArray *appNames = [[NSWorkspace sharedWorkspace] runningApplications];
To get the active application:
NSRunningApplication *currentApp = [NSRunningApplication currentApplication];
Here's a sample project from Apple:
http://developer.apple.com/mac/library/samplecode/AppList/index.html#//apple_ref/doc/uid/DTS40008859
These all require 10.6, according to the documentation.
Apologies, I found what I needed. If anyone is looking to do this same thing, this snippet should help:
NSDictionary *activeApp = [[NSWorkspace sharedWorkspace] activeApplication];
NSLog(@"Active application is: %@", (NSString *)[activeApp objectForKey:@"NSApplicationName"] );