-------------------------------------------------------------------------------- Hot Soup Processor スクリプトエディタ 外部ツール 開発マニュアル -------------------------------------------------------------------------------- ・はじめに このマニュアルは、HSPのスクリプトエディタ(以下エディタと表記)専用の 外部ツールを開発する方法や、その注意点を書いたマニュアルです。 現在のエディタはβ版であるという性質上、仕様変更や不具合の可能性が 有るということをご承知下さい。 ・基本仕様 エディタにアクセスするためのウィンドウ(非表示)を用意してありますので、 外部ツールはそのウィンドウのハンドルをFindWindow(Ex)で取得し、 そのウィンドウにメッセージを送り、情報取得や、操作を行うという形に なります。 文字列の送受信は、パイプを介して行います。 ・文書中の語句について Footy: エディタが使用しているライブラリの名前で、この文書中では、     入力部分(HSPで作成できるinputのようなもの)のことを指します。 ・アクセス手順 (1)FindWindow(Ex)で、ウィンドウハンドルを取得します。 (2)*文字列を扱う場合のみ* パイプを作成し、DuplicateHandleでエディタが   読込/書込できるハンドルを作成して下さい。 (3)SendMessageで必要とする情報を要求/行いたい操作を行って下さい。 (4)*文字列を扱う場合のみ* CloseHandleでハンドルを閉じる。 詳しくは、サンプルを参照して下さい。 ・メッセージ リファレンス HSED_GETVER(WM_APP) - 各種バージョンを取得 wParam: 必要なバージョン情報の種類(下に字下げして書いています) lParam: wParamによって変化します 戻り値: wParamによって変化します。wParamが正しくなかった場合は、-1が返ります。 wParam: HGV_PUBLICVER(0) lParam: 無視されます。 戻り値: エディタのパブリック バージョンが返ります。 16進数で上4桁メジャー バージョン、5〜6桁目マイナー バージョン 7〜8桁目βバージョン(βでなければ0)。(例:Ver1.02b3→0x00010203)  説明: パブリック バージョンは、HSP本体のバージョンと連動していますが、 一致している保証はありませんのでご了承下さい。 wParam: HGV_PRIVATEVER(1) lParam: 無視されます。 戻り値: エディタのプライベート バージョンが返ります。 形式はHGV_PUBLICVERと同じです。  説明: HSP本体のバージョンとは連動しておらず、hsp-dev MLで公開されるときに 設定されるバージョンとなっています。 wParam: HGV_HSPCMPVER(2) lParam: エディタが書き込むパイプのハンドル 戻り値: 成功時はパイプに書き込んだバイト数(NULL文字含む)、失敗時は-1  説明: hspcmp.dllから取得したバージョン情報(文字列)を、渡されたパイプに 書き込みます。 wParam: HGV_FOOTYVER(3) lParam: 無視されます。 戻り値: FootyライブラリのGetFootyVerの戻り値がそのまま返ります。、 バージョンを100倍(10進数)した数値が返ります。(例:Ver1.23→123) wParam: HGV_FOOTYBETAVER(4) lParam: 無視されます。 戻り値: FootyライブラリのGetFootyBetaVerの戻り値がそのまま返ります。 エディタのマイナー バージョンVer1.04b3公開時では、 ベータ バージョンがそのまま返ります。(ver*.**β1→1) HSED_GETWND(WM_APP + 0x100) - 各種ウィンドウのハンドルを取得 wParam: ハンドルが必要なウィンドウの種類(下に字下げして書いています)。 lParam: wParamによって変化します。 戻り値: 各種ウィンドウのハンドルが返ります。 wParam: HGW_MAIN(0) lParam: 無視されます。  説明: メイン ウィンドウのウィンドウ ハンドルが返ります。 wParam: HGW_CLIENT(1) lParam: 無視されます。  説明: クライアント ウィンドウ(タブの下にあります)のウィンドウ ハンドルが 返ります。 wParam: HGW_TAB(2) lParam: 無視されます。  説明: タブ コントロールのウィンドウ ハンドルが返ります。 wParam: HGW_EDIT(3) lParam: 取得したいFootyのIDを指定します。  説明: IDを指定したFootyのウィンドウ ハンドルが返ります。 wParam: HGW_TOOLBAR(4) lParam: 無視されます。  説明: ツールバーのウィンドウ ハンドルが返ります。 wParam: HGW_STATUSBAR(5) lParam: 無視されます。  説明: ステータスバーのウィンドウ ハンドルが返ります。