API」はWindowsのシステムそのものが用意してる命令のようなもの(正確には関数)です。APIを呼ぶのが一般的でした。API関数をより手軽に扱うための命令が新たに定義されました。(HSP2とHSP3で互換がなくなってる部分)利用するライブラリを指定する「#uselib」、命令宣言を行う「#func」、関数宣言を行う「#cfunc」の各プリプロセッサ命令です。API関数を呼んでみる例として、MessageBox関数を呼んでみるミニ講座です。API関数で、HSPでいうdialog命令のタイプ0〜3の真の正体です。関数名をキーワードに検索すれば、HSP向けではないですが日本語の情報はたくさんヒットします。uType);上のCの宣言コードは下と同じで、横幅があるから改行して表現してるだけです。先頭の「int」はMessageBox関数の戻り値の型を示してます。この関数には4つのパラメータ=引数(ひきすう)が存在します。uType);HSPでこれを表現するには、まずはこの関数が「user32.dll」というWindowsのシステムに入ってるライブラリ内に用意されてるものなので、これを#uselib命令で指定します。"user32.dll"次に、HSPで実際にMessageBox関数を呼べるよう、#uselibの直後に#func命令の宣言を用意します。#func命令の1番目のパラメータはスクリプト上で実際に使う命令文字列です。2番目のパラメータは関数名です。その後ろにパラメータの型を指定していきます。HSPでパラメータの型は「int」が整数値、「str」が文字列を意味します。int準備は整ったので、実際に関数を利用します。MessageBox関数の第1パラメータはオーナーとなるウィンドウハンドル値を指定します。HSPにはない概念ですがウィンドウIDに相当するもので、システム変数「hwnd」に代入されてます。第2-3パラメータはそのまま文字を、第4パラメータはメッセージボックスのタイプを指定する数値です。0は単純に[はい]ボタンが表示されるタイプです。結果はシステム変数statに返ります。statちなみに、#func命令の1番目のパラメータは別に何でも構いません。下のように自分が使いたい名称を指定することもできます。(が、混乱の元になるので推奨しません。stat#func宣言でのパラメータの型と、命令として利用するパラメータは下のような感じで一致してることを把握しといてください。上では触れてませんが、#func命令の関数名が「〜A」となってます。基本的に「MessageBoxA」(「〜A」タイプ)の方を利用します。API関数に2種類のバージョンがあるわけではないです。API関数を利用するたびに#uselib命令と#func命令を用意するのはちょっと面倒です。API関数が宣言されてる定義ファイルがcommonフォルダ内に用意されてます。「user32.dll」ライブラリ用のものは「user32.as」なので、これを#include命令でインクルードしましょう。statその他の定義ファイルを挙げると、「gdi32.as」(gdi32.dll)、「kernel32.as」(kernel32.dll)、「advapi32.as」(advapi32.dll)、「comctl32.as」(comctl32.dll)、「winmm.as」(winmm.dll)、「shell32.as」(shell32.dll)、「ole32.as」(ole32.dll)です。OSの根幹に関わる重要なファイル)で、すべてのWindowsマシンに含まれてます。Microsoftの著作物なので、HSP拡張プラグインのように実行ファイルといっしょに同封して配布したりするものではないのでご注意を。3.1以降では不要な宣言がコンパイルの際に削ぎ落とされるよう改良されてます。API関数を利用できます。メッセージボックスの表示とともに関数そのものが結果を返すため、それをmes命令にそのまま指定できています。0)ちなみに、HSPがあらかじめ用意してある定義ファイル「user32.as」などは、すべて命令形式で記述されてるので、自前で宣言を行わない限り関数形式は利用できません。API関数はさわりの部分で、これで終わりではありません。HSP」というコンテンツがとても詳しいので勉強してください。HSPにはない概念・用語がたーくさん登場するので、初めての人は挫折するのが必死じゃないかと思います。3.x向けサンプルコードをいくつか公開してます。