[トップページへ戻る]

C# SendMessageで文字列を送受信する方法

2013年3月
C#のFormからWin32APIのSendMessageを使って文字列を送信する方法。


サンプルコード
次のようなシナリオで使い道がある。
  1. とあるアプリが起動しているとする。
  2. そのアプリのショートカットアイコンに、処理したいファイルをD&Dする。ここで同一アプリがもう一つ起動する。
  3. 二重起動チェックをし、自分が二つ目の起動だと認識したら、起動済みアプリの方に引数を渡して自分自身は終了する。
ここで、渡したい引数とはファイル名(文字列)である。複数ある場合は一工夫必要。
SendMessageで文字列の配列を送信するのは面倒なので、複数の文字列を送信したい場合は、適当なセパレート文字(例えば’¥t’)を定義してstring.Join()でつなげる。受信側ではstring.Split()する。




◆ ◆ ◆
Marshalは出番なし。もっと簡単に文字列を送受信したくて、この方法にたどり着きました。


(C) 『昼夜逆転』工作室 [トップページへ戻る]