« 注目の新刊 『カーニハン&リッチー『プログラミング言語C』を読む』 | トップページ | WideStudio Win32版バイナリパッケージ v3.94-1 »

2006年6月21日 (水)

HSP3 サンプル スクリプト 「名なしパイプと独自メッセージによるプロセス間通信(エディタと外部プログラムの連携)」

 このサンプルは、名なしパイプと独自のウィンドウメッセージを利用し、2つのアプリケーション間でテキストデータのやりとりを行う機能を記述したスクリプトです。動作確認はHSP3.1 beta3 / WinXP Pro SP2で行っています。

 サンプルの"editor.hsp"と"tool.hsp"は、それぞれランチャー機能付きのテキストエディタと、エディタから起動されてエディタとプロセス間通信をしながら小さな仕事を行うユーティリティを模して書かれています(サンプルなので構造はごくシンプルです)。ちょうどテキストエディタのTeraPadとTeraPadツールのような関係です。(このサンプルはTeraPadの仕組みを調べて書いたわけではありません)

 2つのソフトが行う処理の流れは以下のようになります。

 editor.exe起動(editor.hspを読み込みmesboxに表示。tool.exe起動用のbuttonを表示)(ユーザが操作)
  ↓
 mesbox内のテキストの一部または全体を選択(ユーザが操作)
  ↓
 editor.exeのウィンドウ上のボタンをクリックしてtool.exeを起動(ユーザが操作)
  ↓
 tool.exeがeditor.exeのウィンドウを検知したあと、editor.exeに対して
 mesbox内の選択テキストを送信するように要求する
  ↓
 editor.exeがtool.exeにデータを送る
  ↓
 tool.exeが受け取ったテキストを加工する
  ↓
 tool.exeがeditor.exeに対してデータを受け取る処理に入るように要求する
  ↓
 tool.exeが加工済みのテキストをeditor.exeに送り返す
  ↓
 editor.exeが受け取ったテキストをmesbox内の選択テキストと置き換える
  ↓
 終了

 "tool.exe"は"editor.exe"から起動され自分の仕事を完了すると自動的に終了します……


 続きはサイドバーリンクの「プログラミング工房」で。

|

« 注目の新刊 『カーニハン&リッチー『プログラミング言語C』を読む』 | トップページ | WideStudio Win32版バイナリパッケージ v3.94-1 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3294/11507149

この記事へのトラックバック一覧です: HSP3 サンプル スクリプト 「名なしパイプと独自メッセージによるプロセス間通信(エディタと外部プログラムの連携)」:

« 注目の新刊 『カーニハン&リッチー『プログラミング言語C』を読む』 | トップページ | WideStudio Win32版バイナリパッケージ v3.94-1 »