こんにちは初めて質問させていただきます。
VBプログラムでdllファイルを使って以下のように宣言しています。
Public Declare Function 関数名 Lib "***.dll" ( ByVal hDIB As Long ) As Long
この***.dllはwindowsのsystemフォルダに入れて使えてはいるのですが、
作ったプログラムと同一ファルダ内に入れて使えるようには、
どう宣言したらよいかご教授下さいm(__)m
この作ったプログラムを配布するとき一々systemフォルダにdllファイルをコピーしなくてもいいようにと考えています。
Declareで宣言されたパスは、(それが絶対パス指定で無い場合は)
・実行ファイルのあるディレクトリ
・カレントディレクトリ
・システムディレクトリ(NT系ならSystem32、9X系ならSystem)
・環境変数PATHで指定されているディレクトリ
の順でDLLの存在がチェックされる事になっています。
ですから、特に何もせずとも、同じ宣言で良いと思いますよ。
念のため、ChDrive、ChDirを使って、カレントディレクトリを
App.Path と同じ位置にしておくと良いかもしれません。
遅れましたが、返信ありがとうございました。
systemフォルダに入れなくても動くのを確認できました。
# 以前できなっかたのは、恐らく文法ミスがあったのかな・・・
ツイート | ![]() |