I have 2 windows form application. 1st application interacts with database while other application is aimed to communicate with the 1st application to interact with the data
Here is a good example using WCF to communicate two processes:
http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication
Use WCF with netnamedpipe binding as @I4V recommends. Other alternatives are use Pipes, Remoting, or fileshare.
Another option is ZeroMQ C# binding:
http://www.zeromq.org/bindings:clr
One option would be to use WCF named pipes (net.pipe) the other option would be Anonymous Pipes for Local Interprocess Communication
Excerpt:
Anonymous pipes offer less functionality than named pipes, but also require less overhead. You can use anonymous pipes to make interprocess communication on a local computer easier. You cannot use anonymous pipes for communication over a network.