Win32
文章平均质量分 50
zengwh
欲从事浏览器开发的请不吝留言,待遇优厚!
展开
-
经典编程:DLL地狱及其解决方案
现在可以看出,在DLL的导出类中增加虚函数是一个多么严重的问题!不过,如果虚函数是用来处理回调事件的,我们有办法来解决这个问题(下文有介绍)。COM及其它现在可以看出,DLL的向后兼容性问题是一个很出名的问题。解决这些问题,不仅可以借助于一些约定,而且可以通过其它一些先进的技术,比如COM技术。因此,如果你想摆脱“DLL Hell”问题,请使用COM技术或者其它一些合适的技术。让我们回转载 2005-06-30 21:43:00 · 1281 阅读 · 0 评论 -
线程局部存储-TLS
线程局部存储-TLS1.什么是线程局部存储众所周知,线程是执行的单元,同一个进程内的多个线程共享了进程的地址空间,线程一般有自己的栈,但是如果想要实现某个全局变量在不同的线程之间取不同的值,而且不受影响。一种办法是采用线程的同步机制,如对这个变量的读写之处加临界区或者互斥量,但是这是以牺牲效率为代价的,能不能不加锁呢?线程局部存储就是干这个的。 2.Win32实现Wind原创 2009-02-27 15:44:00 · 2914 阅读 · 0 评论 -
同步移动多个子窗口
同步移动多个子窗口移动子窗口,一般会引起父窗口重绘,如果多个子窗口单个移动就会导致父窗口多次重绘效率较低,Win32中提供了一种一次移动多个窗口的一组API:HDWP BeginDeferWindowPos(int nNumWindows /* 指定带移动的窗口数 */); HDWP DeferWindowPos( HDWP hWinPosInfo, HWND hWnd, /*原创 2009-03-03 14:58:00 · 2557 阅读 · 0 评论 -
GDI+初始化注意
GDI+初始化函数:GdiplusStartup 可不能随便在dllMain函数中调用,msdn中初始化GDI+按照下面方式: 1. 由客户端调用dll之前和之后分别初始化GDI+、销毁GDI+。2. 定义自己的初始化函数和关闭函数,比如你可以定义Initialize和Uninitialize方法必须要求客户端调用。3. 在每处使用GDI+的地方都分别调用GdiplusSt原创 2009-12-21 21:05:00 · 3423 阅读 · 0 评论 -
一种在接口中跨dll分配释放内存的方法
一种在接口中跨dll分配释放内存的方法 本帖最后由 zengweihong 于 2009-9-10 10:22 编辑 多个模块需要配合进行内存的分配和释放,下面接口class IMalloc {public: virtual void* Alloc(unsigned size) = 0; virtual void Free(void*原创 2009-09-10 12:09:00 · 2676 阅读 · 0 评论 -
关于鼠标输入
http://blog.csdn.net/enin_dqc/archive/2009/05/03/4145874.aspx转载 2009-07-03 10:16:00 · 529 阅读 · 0 评论 -
VS2005编译器选项
http://blog.chinaunix.net/u3/94369/showart_1915928.html转载 2009-08-26 16:33:00 · 2472 阅读 · 0 评论 -
ScrollDC与ScrollWindowEx的异同
ScrollDC与ScrollWindowEx的异同1.函数原型:BOOL ScrollDC(HDC hDC, int dx, int dy, const RECT *lprcScroll, const RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate);int ScrollWindowEx(HWND hWnd, int dx, int dy原创 2009-08-20 09:10:00 · 4973 阅读 · 0 评论 -
Win32 DC的数据结构
typedef struct tagDC { GDIOBJHDR header; HDC hSelf; /* Handle to this DC */ const struct tagDC_FUNCS *funcs; /* DC function table */ PHYSDEV转载 2009-08-14 15:56:00 · 3224 阅读 · 0 评论 -
windbg调试
http://hi.baidu.com/estellejiang/blog/item/34d308fab249078a9f514638.htmlhttp://hi.baidu.com/cppiod/blog/item/58efaf86eb696d3f67096ec2.htmlhttp://www.cnblogs.com/vivilisa/archive/2009/04/16/1437529转载 2009-07-16 10:16:00 · 906 阅读 · 0 评论 -
游戏引擎原理
http://developer.51cto.com/art/200602/20579.htm转载 2009-04-20 12:32:00 · 670 阅读 · 0 评论 -
SetWindowRgn函数
SetWindowRgn函数SetWindowRgn函数可以设定窗口的多种边界剪切域,而不是像SetWindowRect只能设置矩形的外包边界。因此利用SetWindowRgn能够实现任意不规则的窗口边界。实现非常个性化的窗口,但是如果通过SetWindowRgn将窗口的中部的区域剪切掉,使得绘制窗口时不绘制,从而形成一个完全透明的”洞“,从这个洞可以看到当前窗口下面的窗口。鼠标单击原创 2009-02-27 18:23:00 · 8393 阅读 · 4 评论 -
亲密接触VC6.0编译器
亲密接触VC6.0编译器 (专贴) 一页扁舟 发表于 2005原创 2005-10-30 14:09:00 · 1066 阅读 · 0 评论 -
MoveWindow与SetWindowPos的异同
MoveWindow和SetWindosPos的异同 1.原型BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint ); BOOL SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X,原创 2009-02-26 13:16:00 · 3972 阅读 · 0 评论