APIの使用というのは本来、VBを使用する道から外れたことで、原則として、VBからAPIを使う場合にはVBは何も手を出さず、「お願い」を垂れ流しにします。
また、APIの使用というのは、VBで扱う範囲を越えてしまっているので、その為の準備をしなければなりません。
APIという「お願い」にも種々雑多なものがあって、お願いの仕方なんかもいろいろです。
だから、VB上で使うときにはその辺をあらかじめ「こういう風にやるからね」とVBに対して宣言しなくちゃなりません。つまり「APIの宣言」というやつ。
基本的な書き方は下のようになります。
Declare
|
Function
|
"SampleAPI"
|
Alias
|
"SampleATest"
|
Lib
|
"user32.dll"
|
(
|
ByVal hWnd As Long
|
)
|
As Long
|
(1)
|
(2)
|
(3)
|
(4)
|
(5)
|
(6)
|
(7)
|
|
(8)
|
|
(9)
|
|
|
が、覚える必要はあまりありません。いや、まぁ、ちょっとは覚えないとだめですけど。
基本的に、この宣言をせっせと手入力することはありません。
VBにも実は、この宣言を楽に入力できるツールが入っています。その名も「APIビューア」。何の面白味もない名前ですが、これです。
でも、とりあえずは簡単に説明しておきましょう。
知らないで使うのよりは、知ってて意識しない方が、後々対処できます。
(1) |
APIを使いますよ〜。 |
(2) |
戻り値がありますよ〜。(Functionプロシージャと同じ。Subも使えるけど、まず使わない) |
(3) |
APIの関数名 |
(4) |
APIを仮名で使いますよ〜。VBの命令と同じ名前のAPIがあります。VBの命令と同じ関数名は利用できないので、Aliasを使って別名を定義します。(3)が別名、(5)が本名です。(4)は省略できます。その場合は(5)も省略 |
(5) |
APIの本名 |
(6) |
(7)で書いたところにお願いしにいきますよ〜。 |
(7) |
お願い先 |
(8) |
お願いするときに教える内容 |
(9) |
APIからの戻り値はLong型ですよ〜。 |
で、宣言が終わったら後は使うだけです。
lRetValue = SampleAPI(Me.hWnd)
|
|
こんな感じ。
ね? 簡単でしょ。宣言さえしてしまえば、あとはVBの関数と同じようなものなんです。
|