If you must make applications interact this way, your safest bet would be to use the interop with Windows API to send the target application messages and/or gain limited access to data within its controls. If you don't have a C/C++/VC/Win32 background, this can be a challenging task. You would need to familiarize yourself with the windows api, structures, etc.
I could certainly point you to some helpful resources but please note that this is not a recommended approach for many reasons (including security and stability) and should never be used in a production scenario.
EDIT
If you do not have access to the source code of the target applications, and these applications do not provide an API, the term inter-process communication does not apply here. You would essentially be hacking your way into these applications and should be aware of the implications.
Since you have not developed these applications, have a look at at this link. As explained in my answer, you could inspect the target application using a tool like Spy++ to figure out the control hierarchy. You can then use Win API to send messages to the control. It does not matter whether the target application is built in .NET, Jave or C.
In case of web applications, whether running on the local machine or outside, you can scrape data from existing pages and you can post data from within your application. Have a look at the string DownloadString (string address)
and byte[] UploadValues (string address, string method, NameValueCollection data)
methods of the System.Net.WebClient
class.