将棋所(http://www.geocities.jp/shogidokoro/) のようなソフトウェアを作りたいです

将棋所のように,CUIプログラムをGUIプログラムから起動して,メッセージのやり取りを行うにはどのような機構を利用すれば良いのでしょうか?
将棋所はC#で書かれているように見えますが,C言語でも同じようなプログラムを作ることはもちろん可能ですよね?