暇人おやじの暇なつぶやき
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■VC++.NETからのDLL呼び出し
.NETの考え方からすると直接DLLを呼び出すというのはよくないらしいが 呼ばなければならない時がある これには、Runtimeクラスを使用する using namespace System::Runtime::InteropServices; そして、使用するDLLの明示する [DllImport("user32")] extern int MessageBoxA( int hWnd , String^ lpText , String^ lpCaption , unsigned int uType ); 上記はuser32.dllにあるMessageBoxAという命令を呼び出す際の定義です これで、このプログラム(NameSpace)で呼び出す準備ができました 次に呼び出しを実施します 今回はボタンを押下したらMessageBoxAを呼び出してみましょう private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { MessageBoxA(0,L"DLLのテスト",L"呼ばれました",0x00); } これがボタンを押した際のコードになります 実際にプログラマが書くのは「{ 」と「 }」の間のコードだけです このサンプル、実際には MessageBox::Show で代用できますがDLLの呼び出しということで 一番簡単と思われるものを記載しました 尚、宣言部で各種プロパティを設定できます [DllImport("user32", CharSet=CharSet::Ansi, ExactSpelling=true)] これは自動で行ってくれるということが説明にあるので、気にしなくてもOK PR |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|