不好意思,我的意思刚才没说清楚,我是指:当回调函数作为其他函数的参数时,它的参数如何获得?请再指教

解决方案 »

  1.   

    eg:
    回调函数 fun(int a, int b)fun1(int a, int b, void *pfunc, .....)
    {
        pfunc(a, b);
    }
      

  2.   

    好想是这样,回调函数的执行是由windows在一定条件下自动触发的,
    在触发的时候传递相应的参数,如:CallWindowProc
    The CallWindowProc function passes message information to the specified window procedure. LRESULT CallWindowProc(
      WNDPROC lpPrevWndFunc,  // pointer to previous procedure
      HWND hWnd,              // handle to window
      UINT Msg,               // message
      WPARAM wParam,          // first message parameter
      LPARAM lParam           // second message parameter
    );
    只有调用CallWindowProc后,在wndclass注册的毁掉函数才能执行,里面的参数整好是和那边对应的。
      

  3.   

    回调函数是你所创建的由Windows操作系统直接调用的函数。回调函数又特定的参数定定义,这根据哪个子系统调用改函数以及为什么调用她来决定。但是经过函数定义之后,可以在该函数中任意操作。
    回调函数的工作原理是把函数的地址作为参数传给一个windows函数,该函数吧回调函数作为参数接受。当吧函数的地址传给windows之后,每次当出现需要Windows调用改函数的环境是该函数就被直接调用。
      

  4.   

    在PreTranslateMessage函数里拦截~?
    好像是这个函数~手里没有VC~