似たような思想のものだと"GUIフロントエンド"が近いと思います。
例えば少し古いですが「携帯動画変換君」とかでしょうか。
(他は「GUIフロントエンド フリーソフト」辺りで検索。)
このソフトは、
ffmpeg.exe(処理メインの実行ファイル)に、コマンドラインを使って以下のようなもの(Input)を投げます。
ffmpeg.exe -i hoge.wmv -vcodec h264 -b 400k -acodec aac -ac 2 -ar 48000 -ab 64k fuga.mp4
で、ffmpeg.exeから成果物(変換後の動画ファイル)が出力(Output)される。と。
Y_repeatさんの場合は、
・処理メインのC言語のexeは起動しっぱなし。
・HSPのexe側から、ファイルパスや設定値などのInputを"なんらかの方法"で渡して、
C言語のexe側から、処理結果の文字列や数値等のOutputを、HSPのexe側に"なんらかの方法"で返したい。
という認識で良いでしょうか。
その場合 私個人としては、科学太郎さんが紹介してくれた"WM_COPYDATA"を使う方法が良さそうに見えます。
私も"WM_COPYDATA"は使ったことがなく、今回初めて知ったのですが、
お互いのウィンドウハンドルさえ分かってしまえば、
あとは自由自在にどうとでもデータの受け渡しが出来そうな印象です。
C側もHSP側も"WM_COPYDATA"ウィンドウメッセージを捕まえたタイミングで処理すればいいので、
ファイルの入出力等で連携するよりも処理のタイミングに困ることは無いと思います。
情報が多くてなんか難しい><; と感じるなら、科学太郎さんが紹介してくれた
・メッセージによるプロセス間通信
http://chokuto.ifdef.jp/advanced/copydata.html
の、「任意サイズのバイナリデータを渡す:WM_COPYDATA」のところだけをまずは読んでみると良いと思います。
ここだけならそこまで難しすぎることはないと思います。
お互いのウィンドウハンドルを知る手順としては、以下のような形で行けそう。
・C言語exeを本体として、ユーザーに実行してもらう。
1. C言語exeの初回起動時に、"C側のウィンドウハンドル"をコマンドライン引数としてHSP側exeを実行。
2. HSP側は"C側のウィンドウハンドル"目掛けて"HSP側(自身)のウィンドウハンドル"をsendmsg。
3. C言語exeがそれを受け取ったら、無事お互いのウィンドウハンドルが取得できた。
OutputをまたGUIで受け取る、というのは面白い発想だと思います。頑張ってみてください。