もっと詳しく知る
メッセージフックを使う ←NetScape3.xx以降をお使いの方は目次でジャンプできます。 Windowsならではの多くのアプリケーションの連携。CallBackの章でも書きましたが他のアプリケーションを操作したい。と思う事は良くあります。ここでは、アプリケーションに送られるメッセージを横取りするための手順、フックについて書きます。Gen's Low Techにしてはちょっと難しい内容かも知れませんが、DLLの作成、使用、ポインタの扱い、ファイルを扱う時の手順、ウィンドウプロシージャのいじり方などがある程度分かっていれば何とかなります(多いって...(^^))。コールバック関数も出てきますね。あと、Windows95APIバイブル1はとりあえず必須の参考書として指定しておきます。英語がなんぼのもんじゃいという方はDelphiのヘルプで十分(^^)。 ■フック ~ フックで何が出来るか?
typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; hwnd:メッセージを受け取るウィンドウプロシージャを持つウィンドウ message:メッセージ番号 wParam:メッセージの付加情報。message メンバの値によって特定 lParam:メッセージの付加情報。message メンバの値によって特定 time:メッセージがポストされた時間 pt:メッセージがポストされたときのカーソル位置のスクリーン座標
このページのサンプルは,開発者がコードの編集ができない他のアプリへの文字列,テキストの送受信のテストプログラムです. 通常,他のアプリ,他のプロセスのデータに対する操作は,共有メモリと言う仕組みを使用しないと出来ません.WM_SETTEXT メッセージや WM_GETTEXT メッセージは特別で,ウィンドウズが仮想メモリ空間のアドレスの問題を自動的に解決してくれる例外的なメッセージです.ただし,文字列の領域を予め確保しておく必要があります. [650_他のアプリへデータ (文字列や画像) の送信 (Delphi 同士)] で使用している WM_COPYDATA も,テキスト以外の送受信ができる特別なメッセージです.しかし,操作される他のアプリ側にも,このメッセージの処理コードを書く必要があります.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く