![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
VBから自作のCプログラムを呼び出したいです。
ダイナミックリンクライブラリ(dll)を使わない解もあるのでしょう。
私は、Cのダイナミックリンクライブラリ(dll)を自作して、Cから呼び出す方法を探りました。
VCの新規作成メニュに、Win 32 Dynamic-Link Libraryがあるので、これを使えばいいのではと思うのですが、ソースでどう宣言したらいいのか、それをCから、またVBから、どのように呼び出すかがわかりません。WinAPIのように宣言して使うのかなと思うのですが。
なお、.NETでない解決法を知りたいです。
ご存知の方よろしくお願いします。
No.3ベストアンサー
- 回答日時:
>そのdllはどこか決まったディレクトリ(ystem32?)におくのでしょうか?
WindowsではこのAPIが検索する順番にファイルが検索されます。覚えておくべきでしょう。
SearchPath
http://www.microsoft.com/japan/msdn/library/defa …
ここの1~6のどこかにおく必要があります。
もしくは、DeclareステートメントでDLL名を記述する際に、
フルパスで記述します。
>また、Cから呼び出す場合、どう書けばいいでしょうか?
>簡単なコーディング例があればうれしいです。
VBはActiveXDLLやActiveXEXEなどにする必要があります。
で、これを呼ぶにはCよりもC++が楽ですというか、Cだとちょっとつらいですよ。
googleで、
#import VB DLL
こんなキーワードで調べるとサンプルは出てくると思います。
No.2
- 回答日時:
DLLと言ってもAPIでやる方法とCOM(ActiveX.DLL)でやる方法があります。
後者がお勧めです。
詳しくはネットで検索して。
No.1
- 回答日時:
>WinAPIのように宣言して使うのかなと思うのですが。
そのとおりです。
自分でDeclareステートメントを記述してください。
>ダイナミックリンクライブラリ(dll)を使わない解もあるのでしょう。
あとは、ActiveXEXEをCやC++で作るくらいでしょうかね。
taka_tetsuさん
お答えありがとうございます。
ちょっと込み入った追加質問で申し訳ありません。
もしご存知でしたら教えてください。
Declareステートメントを使うのは、
VBから呼び出す場合ですね。
そのdllはどこか決まったディレクトリ(ystem32?)におくのでしょうか?
また、Cから呼び出す場合、どう書けばいいでしょうか?
簡単なコーディング例があればうれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- アプリ Voiceflowでアレクサスキルを作成したらどうやって限定公開したらいいのでしょうか? 2 2023/06/02 03:26
- その他(OS) raspberry pi のスピーカ音出ない問題 2 2022/07/24 09:03
- その他(妊娠・出産・子育て) 友人が私の子供を名前で呼ばないことについて 3 2023/05/17 17:17
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
windows.hがincludeされない
-
フルパスから最後のディレクト...
-
webアプリケーションでの画像フ...
-
fopenで別ディレクトリにファイ...
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
C言語を用いたファイルの一括削...
-
FTPでputすると空ファイルが出...
-
GetPrivateProfileStringでini...
-
複数のファイルへの一括処理(...
-
ファイルやディレクトリの存在...
-
VB.NETでWebアプリを作成後に、...
-
ThisWorkbook.Pathについて
-
新規作成ファイルパスが有効か...
-
ExcelVBA サーバーの(共有フォ...
-
AfxLoadLibrary関数で、DLLのハ...
-
c++ ファイル操作について
-
ネットワーク上のコンピュータ...
-
絶対パスの絶対て英語で何でし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
ExcelVBAでカレントディレクト...
-
windows.hがincludeされない
-
GetPrivateProfileStringでini...
-
マイクラでPythonのプログラミ...
-
fopenで別ディレクトリにファイ...
-
「UNCパスはサポートされません...
-
ファイルやディレクトリの存在...
-
ExcelVBA サーバーの(共有フォ...
-
C言語を用いたファイルの一括削...
-
ファイルダイアログのカレント...
-
ネットワーク上のコンピュータ...
-
セルに入力されたパスでフォル...
-
webアプリケーションでの画像フ...
-
エクセルVBAで相対パスでファイ...
-
絶対パスの絶対て英語で何でし...
-
VBでフォルダ単位のFTP
-
EXCELでダイアログボックスを開...
おすすめ情報