1. Welcome to the new MacRumors forums. See our announcement and read our FAQ

Findwindow on a mac

Discussion in 'Mac Programming' started by xxarmoxx, Jun 29, 2007.

  1. macrumors newbie

    With windows you can use the function findwindow() in user32.dll to find running windows. Is there a way to do that with a mac? I want to use java to find the running terminal window and when I click buttons on my java gui I want certain commands to be inserted to the terminal. How can I make this happen?
  2. Moderator


    Staff Member

    Why would you want to use an actual Terminal window? You can just shell out and execute the commands you want.

    If you really have to then I'd imagine you can shell out to AppleScript.
  3. macrumors newbie

    can you give me an example? Im not too sure what you are talking about. Thanks :cool:
  4. macrumors 68030


    Well, assuming you were asking for an example of running a shell program directly, rather than inserting stuff into a Terminal window (which is a terrible idea, in general)...
        NSTask *task = [[NSTask alloc] init];
        [task setLaunchPath: @"path to some shell command"];
        NSArray *arguments = [NSArray arrayWithObjects: @"argument 1", @"argument2", nil];
        [task setArguments: arguments];
        [task launch];
        [task waitUntilExit];
  5. Moderator


    Staff Member

    Catfish_Man that is a lovely example. Unfortunately it's on Cocoa/Obj-C, not in Java!

    In Java we'd use a method in the Runtime class to spawn a Proccess object. Using that we could communicate with the subprocess via buffered readers. You could simply spawn a shell (say Bash) and then pipe it commands and read the results.

Share This Page