title: How to automate the manipulation of a Java GUI program by control hierarchy (from C#)?
body: <p>I'm new to the world of C# automation so apologies if this is obvious.  My colleagues and I work frequently within an app written in Java, and I'm looking to automate some of the tasks.  However, I can't seem to identify any of the elements (various menus, textboxes, etc.) within the Java windows using the tools I'm aware of (Inspect and Spy++).  Nothing within the main "window" of the app shows up in Inspect (just the title bar and its' children).  </p>
  
  <p>I've gotten the automation working by using P/Invoke SendInput commands to click on the various parts of the window I need to click on (based on x/y coordinates) and enter text as if it's coming from the keyboard.  However, this seems a bit ... fiddly.  I'd feel better using this if I could formalize element names instead of just sending mouseclick instructions via code, is there a way to do this?  For example with something like the Windows.Automation library when I don't have the element IDs?</p>