[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/05/22(Mon) 18:38
投稿者名:ゆうや
URL :
タイトル:
API関数の宣言方法について。
こんばんは。わからないことがありましたので、投稿してみました。

VB6.0 SP6 を Windows2000 or Windows XP Pro.上で使用しています。

今作成しているアプリケーションで、いくつかAPI関数を使用しています。
で、ふと疑問に思ったのですが、API関数を使用するときに、「Lib」のあとの
DLLファイル名?のところに「.dll」をつけたりつけなかったりしているのですが、、

Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" _
        (pOpenfilename As OPENFILENAME) As Long

とか

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

とか。

どちらが正しいとかあるのでしょうか?若しくは「このAPI使うときは".dll"付けなければ」
などの法則があるのでしょうか??

どなたかご存知の方、教えてください。よろしくお願いします。

投稿時間:2006/05/23(Tue) 10:02
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: API関数の宣言方法について。
> DLLファイル名?のところに「.dll」をつけたりつけなかったりしているのですが、、
.DLL は省略できます。
逆に、拡張子がdllではないファイルのAPIを呼ぶ時は、拡張子までの記述が必要ですし、
拡張子無しのファイルなら、「.で終わるファイル名」を指定する必要があります。

また、特定のパスに配置されているファイルの場合は、ファイル名だけで済みますが、
Lib 句にはフルパスでの指定もできるようになっています。


> 「このAPI使うときは".dll"付けなければ」などの法則があるのでしょうか??
API というよりも、ファイル名による縛りを受けます。
たとえば、ファイル名に「.」を含むようなもの……たとえば、"ABC.DLL.DLL" のような
ファイル名の場合、Lib "ABC.DLL" とは書けず、Lib "ABC.DLL.DLL" としなければなりません。

投稿時間:2006/05/23(Tue) 18:00
投稿者名:ゆうや
URL :
タイトル:
【 解決 】Re^2: API関数の宣言方法について。

魔界の仮面弁士さん>
お返事をいただき、ありがとうございました。
普段は気にしたことがなかったので、何かあるのかなぁと思っていました。

ありがとうございました!