title: Interact with another program with C#
body: <p>I wish to interact with other Windows applications from my C# application. This should be able to be done in the background, while a user continues doing something else. The target applications are not mine, but I do know what they are, so their UI/etc. is known.</p>
  
  <p>I am basically trying to automate the process of various tasks across a variety of programs.</p>
  
  <p>So far, the only solution I can think of, is having the code switch to the relevant window, and carry out the task with the mouse. (<a href="https://stackoverflow.com/questions/7620345/c-sharp-clicking-on-a-certain-point-on-the-screen">Controlling the mouse with methods as shown here</a>)</p>
  
  <p>The downfall of this approach of course, is it cannot run in the background and stops the user from carrying out other tasks.</p>
  
  <p>Of course if these target applications received 'fake' mouse clicks, while still running in the background, this solution would be great. So if that's possible, please do share! Otherwise, any solution for such a problem would be brilliant.</p>