WCF - все еще путь сюда.
Как правило, для межпроцессного взаимодействия на одной и той же машине вы используете канал именованного канала. Если вы не используете это, я предлагаю вам сделать, а затем определить, в чем заключается ошибка хостинга.
Если в обеих программах есть циклы сообщений, которые обрабатываются, и вы отправляете целое число, вы также можете использовать вызов SendMessage через слой P / Invoke, но это только потому, что вы отправляете данные, равные или меньше, чем позволяет SendMessage. Большие сообщения требуют что-то вроде WCF.