Win32APIとはなんですか?
一言で言えば、
関数です
Windows側の提供する、様々な機能は
Win32APIに結晶されております。
例えば
ウインドウやシェル操作。
例えば
ファイルやレギストリ、プロセスレッドといった
システムに関わるもの。
こう言った類のものを扱うのがWin32APIです。
Win32APIは
DLLという形で提供されています。
多くの言語には、Win32APIを使いやすくした独自のライブラリがあったりしますが、ABには無いような気がします。
#N88BASIC
で出てくる黒窓、各種命令も内部でWin32APIを使っていますがライブラリと呼ぶには
レベルが低いかと思います。
実はよくあるAPIはすでに宣言されていますが、完全ではないため、自分で宣言することもあろうかと思います。
Declare Sub/Function 関数名 [CDECL]Lib"DLLの名称" [Alias 別名] (引数リスト) As 戻り値の型
これは、VBからパクったやり方で、簡単なのですが、起動時に対象DLLがないと起動すらしないというパターンになります。
関ポ
Dim
関数名 As *Function(
引数リスト) As
戻り値の型
Dim hDLL As HINSTANCE
hDLL = LoadLibrary(
DLLの名前)
関数名 = GetProcAddress(hDLL, "
関数名")
宣言した関ポにLoadModuleとGetProcAddressを使う方法です。
起動時にDLLは必要なく、必要なときに読み込めるので柔軟です。
ただしCDECL呼び出し規約は使えません。
最終更新:2010年01月06日 06:40