现在我的主程序调用一个BB.DLL后,BB.DLL里面有个函数A。现在要在主程序里面计算函数A的执行次数。  要怎么来做?我现在的做法是:BB.DLL里面:
#define ADDPICMESSAGE WM_USER+154 函数A
{
SendMessage(m_hWnd,ADDPICMESSAGE,NULL,NULL);
}
主程序:
ON_MESSAGE(ADDPICMESSAGE,OnADDPICMESSAGE)void CImageScanDlg::OnADDPICMESSAGE()
{
AfxMessageBox("次数加1");
}
上面这样能实现吗?

解决方案 »

  1.   

    BB.DLL里面:
    #define ADDPICMESSAGE WM_USER+154        函数A
            {
                SendMessage(m_hWnd,ADDPICMESSAGE,NULL,NULL);//执行到这里,弹出AfxMessageBox("次数加1");点确定就报内存错误。
            }
    主程序:
        ON_MESSAGE(ADDPICMESSAGE,OnADDPICMESSAGE)void CImageScanDlg::OnADDPICMESSAGE()
    {
        AfxMessageBox("次数加1");
    }
      

  2.   

    在函数A里面定义一个static变量void useCount()
    {
    static int count = 0;
    cout <<"这是第" <<count++ <<"次调用" <<endl;
    }
      

  3.   

    只要你那个SendMessage的第一个参数正确,完全可以的
      

  4.   

    感觉你的消息响应函数定义不正确啊,能编译通过吗?HRESULT CImageScanDlg::OnADDPICMESSAGE(WPARAM wParam,LPARAM lParam) 

        AfxMessageBox("次数加1"); 
        return 0;//需要有返回值