プロが教えるわが家の防犯対策術!

主題について、どなたかご教授願います。

主題の詳細として、ネイティブコード(Win32 アプリ C++)からマネージド(Visual studio C#)のDLLを呼び出したいと考えています。
一度、C#フォームアプリケーションにて、ダイアログ(フォーム)をもったアプリを作成し、アプリを作成したプロジェクトの出力をクラスライブラリに変更して.dllと.tlbを作成しました。
しかし、その後の呼び出し方法が不明なため、ネイティブコードからの呼び出し方法がわかっていない状態となっています。

つきましては、下記の質問について、どなたかお答えしていただけないでしょうか?

1:C#でのダイアログをもったDLLの作成は可能か(上記の作成方法が正確か否か)
2:上記が可能であれば、その作成方法
3:C++Win32 アプリケーションからの呼び出し方


サンプルや参考サイトなど、どんな情報でも構いませんので、ご教授のほど、よろしくお願い致します。

A 回答 (2件)

↓のページが参考になると思います。


http://satoshi.web5.jp/memo/connect_dll.htm
    • good
    • 0
この回答へのお礼

返信が遅れてしまい、申し訳ございません。
ご回答いただき、誠にありがとうございます。

紹介していただいたサイトを試すことで、C#で作成したdllをC++で呼び出すことが可能であることがわかりました。

もし、よろしければなのですが、上記サイトには記載されていなかった、ダイアログなど、GUIをもったDLLを呼ぶ場合は、どのようにすればよいのでしょうか。

ご教授頂ければ幸いです。

お礼日時:2012/04/17 20:26

>ダイアログなど、GUIをもったDLLを呼ぶ場合は、どのようにすればよいのでしょうか。



試してはいませんが、先に紹介したページの Class1 を Form1 などに置き換えて、
ShowDialog などを呼び出せばよいのではないでしょうか。
    • good
    • 0
この回答へのお礼

返信が遅くなりまして申し訳ございませんでした。

あの後、C++Win32 アプリケーションからShowDialogが呼べないか色々施行錯誤しましたが、呼び出し方がわかりませんでした。(ShowDialogはWinformの機能で、C++Win32 アプリケーションだと、別のウィンドウ表示方法を使わないといけないと考えました)

アドバイス、誠にありがとうございました。調査はもう少し続けていこうと思います。
ひとまず、1番最初の回答をベストアンサーとさせていただきます。

お礼日時:2012/04/23 07:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!