Skip navigation.
 
mlRe: Traversing windows with Cocoa
FROM : aldo kurnia
DATE : Mon Mar 03 23:45:24 2008

Hi,
I'm not trying to manipulate anything in the protected memory space. All I want to do is determine the name of the application / process from the window, and then bring it to the front-most index.

UI scripting is exactly what I've tried to do and failed. For example, you'd expect the following script to work, but not all application supports the functions I used here and it will fail on some application (including the ones that I need to support):

-- the window title we're looking for
set winName to "someWinTitle"

tell application "System Events"
    set procs to processes whose visible is true
end tell

-- go through all visible processes
repeat with i from 1 to (count of procs)
  set appName to name of item i of procs

  tell application appName
      set winCount to count of windows
      -- go through all the app's windows   
      repeat with x from 1 to winCount
        -- match the window's title
        if ((name of (item x of windows)) as string) is winName then
            set index of item x of windows to 1
            display dialog "success!! " & winName & " is a " & appName & " window"
            return
        end if
      end repeat
  end tell
end repeat

display dialog "window " & winName & " not found"


It seems to me that Applescript provides a very limited solution for my problem, which is why I started looking into Accessibility API (and still got stuck).

Aldo

Jens Alfke <<email_removed>> wrote:
On 3 Mar '08, at 1:10 PM, aldo kurnia wrote:

> Given a window's TITLE, how do you create a reference to it, 
> determine what kind of application the window is (the name of the 
> application/executable)? and how do you move that window to the front?


Applications run in protected memory spaces. There's no way to get 
direct access to windows of other processes. (This is a Good Thing for 
system security.)



> Applescript is also not very useful since the application I'm trying 
> to support doesn't support some of the basic window scripts.


The UI scripting support might help; its AppleScript commands end up 
generating fake UI events in the target app, so you can manipulate 
even apps that aren't scriptable. I don't know how to use that stuff, 
though. Check the docs.

—Jens

     
---------------------------------
Looking for last minute shopping deals?  Find them fast with Yahoo! Search.

Related mailsAuthorDate
mlTraversing windows with Cocoa aldo kurnia Mar 3, 22:10
mlRe: Traversing windows with Cocoa I. Savant Mar 3, 22:13
mlRe: Traversing windows with Cocoa Jens Alfke Mar 3, 23:16
mlRe: Traversing windows with Cocoa Eric Schlegel Mar 3, 23:31
mlRe: Traversing windows with Cocoa aldo kurnia Mar 3, 23:45
mlRe: Traversing windows with Cocoa Bill Cheeseman Mar 4, 12:31
mlRe: Traversing windows with Cocoa Bill Cheeseman Mar 4, 12:33
mlRe: Traversing windows with Cocoa Stephan Burlot Mar 4, 18:45
mlRe: Traversing windows with Cocoa aldo kurnia Mar 5, 01:02