Apparently, you will need to use IPC:
http://en.wikipedia.org/wiki/Inter-process_communication[
^].
It could be sockets (sockets can be used for communications on the same machine; that is what they were originally developed for), named pipes, or, on higher level, "classical" remoting or WPF. Both technologies have "IPC" channels which are based on those named pipes.
As the Window Service is, well… a service and its lifetime is more than that of a UI application, the adequate role of it in this communication with your UI is the server part. You can self-host WPF in the service, have a listening socket using
TcpListener
and so on. The UI application should connect (or rather try to connect) to the service when it takes a chance for it. For example, you may find it appropriate to register it in the system registry to be run on the user log on. Again, this is only an example; you should do whatever is appropriate according to your goals.
—SA