2010-12-08 9 views
3

私はデバイスと話すためのDLLを与えられています。私はC言語でほとんど経験がありませんが、週末までにデバイスを初期化するはずです。 DLLにはポートを開いてメッセージを送信する方法がありますが、どのように関数にアクセスするのか分かりません。C#DLLのnoob、関数の取得方法

私は少し愚かなことは知っていますが、時間がなくなっています。 おかげで、

+0

あなたは、デバイスを統合するプログラムの言語は何ですか? – CharlesB

+0

DLLもC#で書かれていると仮定できますか? –

+1

このDLLにはマニュアルがありますか?見つけてください。 –

答えて

6
  1. は、あなたのC#プロジェクトで.dllファイルにReferenceを追加します。
  2. 追加.dllメソッドと対話するクラスの先頭に名前空間を使用します。

これで、メソッドにアクセスできるようになりました。

編集:ライブラリが管理されていない場合は、Pinvokeを使用する必要があります。

+3

...このDLLが実際に管理されたアセンブリである場合のみです。 –

+0

私はそれを仮定しています。 :P Upvote! –

1

プロジェクト内のdllへの参照を追加してください(seletを参照して見つけてください)。その中の関数にアクセスできるはずです。あなたのデバイスをそれで動作させる方法については、自分で考えていると思います:)

2

一般的に言えば、マネージコードからアンマネージコード(DLLであると想定しています)を呼び出す機能はP/Invoke一般に、必要なメソッドに属性を付けることを要する。

0

DLLが.Netアセンブリの場合は、参照として追加してVisual Studioプロジェクトに読み込むことができます。

マニュアルがない場合は、.Net Reflectorにアセンブリをロードすることは非常に役立ちます。これにより、メソッド内のコードを逆アセンブルする時点までアセンブリの隙間を検査できます。

0

1-管理されたDLLの場合、つまり、.NET Frameworkを使用して書かれた場合は、DLLからメソッドを呼び出すよりも、自分のクラスからメソッドを呼び出すようなものです。

あなたのプロジェクトにdllの参照を追加し、 'Using'キーワードで名前空間参照を追加するだけです。

2 - それはあなたが動的にDLLをインポートする必要があり以上である場合は、使用することができます[DLLIMPORT]

関連する問題