sendmessageとは 『HSP3』
今日から「sendmsg」命令についてみていきます。「sendmessage」は以前C言語などの勉強で少し調べた程度でほとんど忘れてしまったので「sendmessage」とは何かから勉強していきたいいと思います。
OSであるwindowsも色々な命令により操作されていて、その関数は「systemフォルダ」内にDLL拡張子のファイルに多く存在します。この関数はアプリケーション開発者が使用しやすいようになっていて、アプリケーションがOSにアクセスするインターフェースになっているのでAPIと呼ばれています。特にwindowsが提供するAPIを「windows API」といいます。
HSP命令の「sendmsg」は、「windowsAPI」の1つである「sendmessage関数」を利用します。
「windowsAPI」の「sendmessage関数」って何をする関数なのかみていきます。
マイクロソフトサイトに「Sendmessag」についての説明がありましたので引用します。
【内容】
1 つまたは複数のウィンドウへ、指定されたメッセージを送信します。この関数は、指定されたウィンドウのウィンドウプロシージャを呼び出し、そのウィンドウプロシージャがメッセージを処理し終わった後で、制御を返します。
LRESULT SendMessage(
HWND hWnd, // 送信先ウィンドウのハンドル
UINT Msg, // メッセージ
WPARAM wParam, // メッセージの最初のパラメータ
LPARAM lParam // メッセージの 2 番目のパラメータ
);
なんか難しい説明ですが、簡単に言えばウィンドウにメッセージを出せばそのように動いてくれますよってことです。ここでいうウィンドウはフォームだけでなくコマンドボタンなども言います。
引数:
第1引数「HWND」は送信先のウィンドウハンドルを指定しています。ハンドルとは簡単に言えば各ウィンドウについた識別番号です。どのウィンドウに対してメッセージを送るのかを指定します。
第2引数「UINT」はメッセージの内容です。どんなメッセージが送れるかは既に決められています。マイクロソフトサイト内でメッセージ一覧調べてみたのですが、みつからなかったので「ちょくとのページ」に日本語化したメッセージ一覧があったので紹介します。「HSPの裏技??」にWin32APIの操作方法が詳しく書かれていますのでお勧めサイトです。
第3引数「WPARAM」と第4引数「LPARAM」はメッセージによって異なります。各メッセージに従ってください。
次回からはHSPでのsendmessage関数の使い方を詳しくみていきたいと思います。
2009 年 5 月 18 日 月曜日 【 カテゴリー: HSP3 , sendmsg 】



2009 年 5 月 21 日 12:46 AM
[...] sendmessageとは 『HSP3』 [...]