m_thunk.Init(GetWindowProc(), this);是什么意思? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 m_thunk 为 CWndProcThunk 类型,CWndProcThunk 内部使用 CStdCallThunk。CStdCallThunk 提供在不同硬件平台(X86,AMD,ALPHA)上 WNDPROC 和 二进制码(汇编代码)直接的转换,在不同平台调用一个 WNDPROC 函数的二进制码(汇编代码)都是不同的,这样 COM 就可以编译支持不同的平台。 m_thunk.Init(GetWindowProc(), this); 这句话的意思当然就是使用当前示例的 WNDPROC 来初始化 CWndProcThunk 类型的 m_thunk 成员了。 没有CStdCallThunk类的代码,不清楚它的实现 m_thunk.Init(GetWindowProc(), this);意思是强制的为GetWindowProc()返回的类静态函数加一小段机器指令(手法比较黑)该段指令吧目标函数第一个参数hWnd改写成类的this指针这样有了this,静态函数就可以调用this所指的类的非静态成员。 从CMFCToolBarEditBoxButton继承子类失败!求教 求好心人写个动态加载dll的代码。。。 以何将一条RTSP连接的地址使用C++下载下来 VC++6.0连接Oracle10g问题 这个问题,好象需要高手来解惑. 程序调用问题(ShellExecute) 我的COM+对象的MTS怎么不起作用? 用了XTREME后,它自己生成的SDI框架中,菜单.状态栏的字体太小,我想改成9号宋体,怎么办? fat32怎么转ntfs的源码那有? ===请问如何取消打印?=== 该如何解决EXE文件在没有安装MFC的机器上运行? cclient dc(this)求助!!
在不同平台调用一个 WNDPROC 函数的二进制码(汇编代码)都是不同的,这样 COM 就可以编译支持不同的平台。
意思是强制的为GetWindowProc()返回的类静态函数加一小段机器指令(手法比较黑)
该段指令吧目标函数第一个参数hWnd改写成类的this指针
这样有了this,静态函数就可以调用this所指的类的非静态成员。