開発環境:WINDOWS2000 VC++6.0 VC5.0
こんにちは。
早速ですが質問をさせてください。
以下のようなdllからエクスポートされたクラス(Test)があったとします。
------------------ testdll.h -----------------------------------------
// MSG_TEST_COMPLETE: wparam is the result
#define MSG_TEST_COMPLETE (WM_USER + 1)
class TESTDLL_API Test
{
public:
// test が終了したメッセージを受け取るためには hwnd を指定する
Test(HWND CallbackWind = NULL);
void do_test(void);
...
}
----------------------------------------------------------------------
このクラスを使用して、テスト(do_test)を行って結果を得たいと思いました。
MFC AppWizard (exe) であれば、MSG_TEST_COMPLETE を受け取る
ことができ、問題なくアプリケーションを作成できました。
BOOL CMyDlg::OnInitDialog()
{
....
m_test = new Test(m_hWnd);
}
void CMyDlg::doTest(void)
{
m_test->do_test();
}
LRESULT CMyDlg::OnMyMessage(WPARAM wParam, LPARAM lParam )
{
m_result = (int) wParam;
}
(参考)
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200004/00040004.txt
今、テストを行って、結果を得るという動作を、VBから実現させたいと考えています。
それぞれdo_test,get_resultというAPIで呼び出したいと考えています。
そのため、VB から呼び出し可能な Win32 Dynamic Link Library を作成しようとしたの
ですが、以下の問題にぶち当たりました。
1. Test class のコンストラクターに指定する hwnd はどうすればいいのか
2. テストが終了したメッセージをどのように受け取ればいいのか
どなたかご教授頂けると助かります。
素人質問で申し訳ございませんが、どうぞよろしくお願いします。
つまり、VBでウィンドウハンドルを得る方法と、
ユーザー定義メッセージを受け取る方法が分からないのでしょう。
VBの掲示板で聞いたほうが良いと思いますよ。
dairygoods さんのおっしゃるとおりですね。
VB を勉強してみます。