はじめに

HSPでは、バージョン2.55より、loadlib.dllおよびllmodモジュールが標準で添付され、さらにバージョン2.6からは、それまでloadlib.dllによる拡張プラグイン命令であったものが標準命令として使用できるようになり、Win32 APIを使ったHSPプログラミングが急速に普及してきました。

HSPでWin32 APIを使用できるようになったことはとても魅力的です。Win32 APIを使うと、Windowsが持っている機能を細かく制御することができるため、HSPがこれまで持ち得なかった機能の多くを実現することが可能になったのですから。

しかしその反面、Win32 APIを使ったプログラミングというのは、今までのHSPでのプログラミングとは概念や手法がかなり異なっていて、Windowsに関しての専門的な知識が求められる部分も数多くあります。そのため、いざ、Win32 APIを使ってみよう、ということになっても、いったい何からはじめていけばいいのか、ということになってしまうのです。

そこで、このページでは、Win32 APIを使ったプログラミングを、必要となるWindowsに関する知識を述べつつ、サンプルスクリプトをまじえながら解説していきます。


先に断っておきますが、この『HSPの裏技??』はモジュール集ではありません。筆者は、別に、ここでWin32 APIを使った便利なモジュールを公開して、みんなに使ってもらおう、などというようなことを考えているわけではないのです。

もともとは、筆者自身がWin32 APIを学んでいく過程で、自分が忘れないようにノート代わりとして書き始めたものだったのです。それが、現在では、Win32 APIを使えるようになりたいと考えている他のHSPプログラマの方々が、Win32 APIを学び、Win32 APIを使用したプログラムを自分で作成できるだけの知識と技術を身に付けてもらえるように、このような形で公開しているのです。

そんなわけで、HSPにおけるWin32 APIの解説書を目指すこの『HSPの裏技??』を、今後ともよろしくお願いします。

利用にあたっての注意事項

当『HSPの裏技??』の著作権は、筆者であるちょくとが保持しています。

このドキュメントに記載されている内容の正確さは保証できません。すなわち、ここに掲載されている内容が決して正しいとは言いきれません。また、掲載されているスクリプトおよび情報を利用したことによって発生したいかなるトラブルや損害に対しても、筆者は一切の責任を負いません。すべて利用者の責任においてのみ使用してください。

上の事項をご了承なさった上で、この『HSPの裏技??』に掲載されているサンプルスクリプトおよびモジュールは、基本的には自由に利用してくださって構いません。スクリプトをそのまま利用したり、一部または全部を書きなおして利用していただくこともできます。また、掲載されている内容を利用して作成されたソフトウェアを自由に公開してくださって構いません。

ドキュメントの閲覧にあたって

このドキュメントは、Internet Explorer 5.5以上またはNetscape Navigator 6以上で閲覧されることを前提にして記述されていますので、なるべくこれらのブラウザを使用してください。それ以前のバージョンでは、スタイルシートの未対応の要素や、フレームの未対応などがあるために期待通りに表示されないことがあります。

また、Netscape Navigator 4.Xでは、ブラウザのバグのために、一部正常に表示されないことがあるらしいので(未確認ですが)、ご注意ください。

サポート

このドキュメントの内容に関してのサポートは、下記にて行なっています。

内容に関する意見・質問・感想などは、できる限り掲示板に書きこむようにお願いいたします。

また、筆者の誤解や記述ミスがある可能性がありますので、間違いなどを発見された方はご連絡お願いします。

準備

何はともあれ、まずはHSPをダウンロードしてインストールしましょう。(といっても、ここを見ている人たちは、すでにHSPプログラマである方々でしょうけど。)

HSPの最新版は「HSP ver2.61a」です(2004年8月現在)。HSP 2.55までは、拡張プラグインloadlib.dllのによる拡張命令として提供されていたものが、現在のバージョンでは標準命令として実装されており、llmodモジュールも標準で同梱されています。


このドキュメントでは、ウィンドウに送られてくるメッセージのスクリプト中で取得するのに、メッセージ取得拡張プラグインhsgetmsg.dllおよびその関連モジュールを使用しています。このプラグインは筆者であるちょくとが作成・公開しています。現在の最新バージョンは 1.4 です。必ず最新バージョンを使用するようにしてください。

ここからhsgetmsg.dllをダウンロードし、アーカイブ内のhsgetmsg.dllをHSPの実行ファイルと同じフォルダに、hsgetmsg.asをHSPのcommonフォルダまたはソースファイルと同じフォルダに入れておきます。

hsgetmsg.dllのアーカイブには、拡張ランタイムhsgmrt.hrt, hsgmrtc.hrt(いずれもHSP ver2.61専用)が同梱されています(hsgmrt.hrtは通常版、hsgmrtc.hrtはJPEGロード機能無しのコンパクト版です)。これを使用して、hsgetmsg.dllの各命令をDLLファイルなしで実行させることができます。