2011年5月21日

hook com vtable entry

摘要: com interface 包括 d3d interface 都采用了 __stdcall 调用协议来声明成员函数,这样的声明使得编译出的汇编代码的传参中多出一个push,所有参数push stack后,还会将对象对地址也push stack;这样做的目的,使得可以用__stdcall 的 c函数来替换vtable中的函数,要求第一个参数是对象指针;其他参数和对应成员函数的参数相同;因为com设计之初,就支持CINTERFACE. #include"objbase.h"__declspec(novtable)interfaceAA:publicIUnknown{public 阅读全文

posted @ 2011-05-21 09:49 cgwolver 阅读(682) 评论(0) 推荐(0) 编辑

2010年12月5日

鼠标拖动客户区移动的方法和问题

摘要: 最简单的方法是在WM_NCHITTEST消息处理中返回HTCAPTION,当鼠标按下并拖动客户区,就会移动窗口;然而这个时候会导致客户区消息WM_LBUTTONDOWN不再响应:因为这个时候已经视为无客户区了;我的简单GUI实现中HOOK了低级鼠标输入,所以可以自己处理WM_LBUTTONDOWN,不过仍然有问题,一旦发生断点后,WH_MOUSE_LL就失效了 阅读全文

posted @ 2010-12-05 00:19 cgwolver 阅读(527) 评论(0) 推荐(0) 编辑

2010年11月24日

svn c++ api

摘要: http://sourceforge.net/projects/win32svn/files/dev sdk:svn-win32-1.6.13_dev.zipwin32 binarysvn-win32-1.6.13.zipopensource project:rapidsvnhttp://rapidsvn.org/构建rapid svn所需依赖:wxWidgetsBerkeley DB 4.4li... 阅读全文

posted @ 2010-11-24 13:35 cgwolver 阅读(2539) 评论(0) 推荐(0) 编辑

2010年11月20日

visual studio 自定义 c++ 源文件扩展名类型

摘要: 1. Tools\Option\Projets And Solutions\VC++ Project Settings\C/C++ File Extensions: and new extension for c++ compile2. Tools\Option\Text Editor\File Extension: and new extension for sytax highlight 阅读全文

posted @ 2010-11-20 22:09 cgwolver 阅读(1502) 评论(0) 推荐(0) 编辑

2010年11月13日

C++ final class

摘要: [代码]当 DerivedClass 不定义默认构造函数时,虽然能够编译通过,但是无法实例化 阅读全文

posted @ 2010-11-13 16:36 cgwolver 阅读(1219) 评论(0) 推荐(0) 编辑

2010年10月5日

SHBrowseForFolder 用法

摘要: [代码] 阅读全文

posted @ 2010-10-05 12:03 cgwolver 阅读(673) 评论(0) 推荐(0) 编辑

2010年8月13日

3DSMAX convert OGRE(D3D)

摘要: 1. 坐标转换:坐标变换比较简单,按照轴的对应关系转换就可以了,按照多数插件的做法是yz互换,但是会发现场景是左右颠倒的,因为3dsmax是右手坐标系(Z向上,Y向内),而D3D是左手坐标系(Y向上,Z向内),所以x应该取负。void MaxVtx2DX( Point3& p,Vec3& v ){v.x = -p.x;v.y = p.z;v.z = p.y;}2.旋转转换通常动画场... 阅读全文

posted @ 2010-08-13 09:45 cgwolver 阅读(1583) 评论(0) 推荐(0) 编辑

2010年1月19日

[转]3dmax导出插件-tiamo

摘要: 3dmax导出插件-tiamo 转自:http://www.gpgame.net/docs/program/3dmaxexporter.htm 新年第一贴,说说3dmax的导出插件 3dmax的导出插件是用来把做好的3d模型导出成自己引擎需要的格式的一个dll,它由3dmax加载调用.具体怎样去写一个插件,小T不多说,在3dmax的sdk里面有比较详细的介绍,在google上面也能搜索到不少的源代... 阅读全文

posted @ 2010-01-19 10:54 cgwolver 阅读(2732) 评论(0) 推荐(0) 编辑

2010年1月15日

about wingdip.h

摘要: inc\wingdi.x inc\wingdip.x: inc\wingdi.w hsplit -e -o inc\wingdi.x inc\wingdip.x inc\wingdi.winc\wingdip.h: inc\wingdip.x wcshdr < inc\wingdip.x > inc\wingdip.h$(SDKINC)\wingdi.h: inc\wingdi.x w... 阅读全文

posted @ 2010-01-15 14:45 cgwolver 阅读(388) 评论(0) 推荐(0) 编辑

2010年1月7日

轻松解决manifest problem

摘要: "manifest" 是vc8以来的一个新东西,这个东西似乎给我们带来了无尽的烦恼,本机生成的dll,放到别的机器运行时,即时带上dll,也总是弹出莫名其妙的异常:“应用程序正常初始化失败”,即便是调试启动,也发现根本就无法进入程序代码,在弹出异常对话框后断下,看Output,“'XXX.exe': Loaded 'C:\Documents and Settin... 阅读全文

posted @ 2010-01-07 23:42 cgwolver 阅读(3745) 评论(1) 推荐(1) 编辑

导航