メッセージ受送信
ウィンドウメッセージにより外部プロセスから稼動中の ClipCommand を操作することができます。
仕様
wm_copydata でデータの受け渡しを行います。以下のデータ形式で ClipCommand にリクエストを行ってください。ClipCommand はリクエストに応じた処理をした後、送り元ウィンドウハンドルに対して wm_copydata メッセージを送ります。
copydatastruct
dwData=リクエストID
cbData=リクエストデータの長さ
lpData=リクエストデータへのポインタ
リクエストの種類
リクエストデータおよびレスポンスデータは、リクエストIDによりフォーマットが異なります。
レスポンスデータの1行目には、ステータスコードが記述されています。
ID | 101 |
説明 | コマンド発行 |
リクエストデータ | 命令文 |
ID | 102 |
説明 | 履歴へ追加せずにコマンド発行 |
リクエストデータ | 命令文 |
ID | 201 |
説明 | プログラム起動 |
リクエストデータ | 起動するプログラムの名称 |
ID | 301 |
説明 | プログラム一覧の取得 |
リクエストデータ | なし |
ID | 302 |
説明 | 辞書一覧の取得 |
リクエストデータ | なし |
ID | 303 |
説明 | ヘッドラインセンサー一覧の取得 |
リクエストデータ | なし |
ID | 304 |
説明 | 検索サイト一覧の取得 |
リクエストデータ | なし |
ステータスコード
200 type OK | 正常に終了した |
400 Bad Request | リクエスト不備 |
なお、200 が返されるのはメッセージ送受信が正常に行われたことを示すものであり、例えばヘッドラインセンスに失敗した等でも、メッセージ送受信が成功すれば 200 が返ります。実行エラーに関しては、返されたレスポンスデータで判別する必要があります。
レスポンスデータ
正常終了時、レスポンスデータ 1 行目に種類が記述されています。種類により、2 行目以降のフォーマットが異なります。
種類 | CALC |
説明 | 計算結果を返します。 |
データ | 2 行目:計算結果。エラーの場合、半角スペース。 3 行目以降:エラーメッセージ |
種類 | CONV |
説明 | 基数変換結果を返します。 |
データ | 2 行目:基数変換結果。エラーの場合、半角スペース。 3 行目以降:エラーメッセージ |
種類 | DICTIONARY/* |
説明 | 辞書引きの結果を返します。 |
データ |
2 行目:辞書引きが行われた単語 3 行目:件名[32]検索結果文字列の行数 ・件名と行数記述との間は半角スペースで区切られています。 ・行数記述が”-1”の場合、最終行までが検索結果文字列になります。 ・ 1 件しか存在しない場合も同じフォーマットです。 |
種類 | GETDICTIONARY |
説明 | 辞書一覧を返します。 |
データ | 2 行目:辞書名 : : (辞書の数だけ繰り返されます) |
種類 | GETHEADLINE |
説明 | ヘッドラインセンサー一覧を返します。 |
データ | 2 行目:ヘッドラインセンサー名 : : (ヘッドラインセンサーの数だけ繰り返されます) |
種類 | GETPROGRAM |
説明 | プログラム一覧を返します。 |
データ | 2 行目:プログラム名 : : (プログラムの数だけ繰り返されます) |
種類 | GETSEARCH |
説明 | 検索サイト一覧を返します。 |
データ | 2 行目:検索サイト名 : : (検索サイトの数だけ繰り返されます) |
種類 | HEADLINE/* |
説明 | ヘッドラインセンス結果を返します。 |
データ | 2 行目:ヘッドラインセンサー名 3 行目:URL 4 行目以降:ヘッドラインセンス結果 |
種類 | LAUNCH |
説明 | プログラムが起動されたことを通知します。 |
データ | 2 行目:起動されたプログラムの名称 |
種類 | MESSAGE |
説明 | 通常メッセージ |
データ | 2 行目以降:メッセージ文 |
種類 | SEARCH/* |
説明 | 検索が実行されたことを通知します。 |
データ | 2 行目:検索が行われた単語 |
ウィンドウハンドル取得方法
file mapping object ”ClipCommand”からデータを取得することで確実にウィンドウハンドルを取得できます。「file mapping object」の章を参照して下さい。