123456

 
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 39 下一页

2011年6月24日

HDC中的前景色与背景色

摘要: HDC中的前景色与背景色在制作透明位图时,经常用到单色图(遮罩图,两色图)将他与目标位图进行"与""或"等操作就能得到想要的透明效果,在其中用到的最多的就是BitBlt这个函数,另外,在使用之前是要对目标位图进行前景和后景颜色的设置,为什么呢?请看MSDN的解说:单色图与彩色图之间的转换 模拟透明的方法也包含基于windows的单色图向彩色图转换的机制,反之亦然。Windows概念中的文本颜色(前景色)和背景色被用来映射两种格式的转换。在blt操作中,当dest为彩色图,src为单色图时,在进行ROP(SRCAND,SRCAND,SRCINVERT,SR 阅读全文

posted @ 2011-06-24 09:59 hgy413 阅读(358) 评论(0) 推荐(0) 编辑

2011年6月23日

把一个bmp转换成cur显示出来(掩码mask)

摘要: 创建一个ICON需要两个掩码位图,AND and XOR masks这个可以从typedef struct _ICONINFO { BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; } ICONINFO; 中MSDN的解释看到,代码如下://////////////////////////////////////////////////////////////////////// GetMaskBitmaps// Function to AND and XOR ... 阅读全文

posted @ 2011-06-23 16:24 hgy413 阅读(352) 评论(0) 推荐(0) 编辑

2011年6月22日

怎么设置IE代理服务器

摘要: 其实就一个注册表的简单操作 在HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Internet Settings//ProxyServer中有几个值ProxyEnable不为0表示当前IE使用代理服务器,ProxyServer表示代理服务器的值,直接贴代码,代码还有部分不完整处,支持多字节和UNICODEBOOL SetHttpProxy(CString ip, UINT port){ CString l_just; l_just.Format(TEXT("http=%s:%d"), ip.L 阅读全文

posted @ 2011-06-22 17:51 hgy413 阅读(293) 评论(0) 推荐(0) 编辑

2011年6月15日

MFC DLL导出类

摘要: 方法1: 在VC上new一个名为dll的MFC DLL工程。 第一步,创建一个interface.h文件来定义接口,代码如下: //file interface.h #ifndef _INTERFACE_H_ #define _INTERFACE_H_ interface ITest { virtual int Print()=0; virtual ~ITest(){}; }; ITest* DllCreateTest(); void DllDestroyTest(ITest *pTest); #endif 第二步,定义一个继承自接口interface的类CTest,代码如下: //file. 阅读全文

posted @ 2011-06-15 10:54 hgy413 阅读(301) 评论(0) 推荐(0) 编辑

2011年6月14日

DDK

摘要: 想要实现类似设备管理器的功能,其实也不是很难,无非就是调用一些API函数,就像本文描述的,采用的API函数就是SetupDi系列的函数。不过这类函数有很多,具体的请参见MSDN,而实现设备启用、停用仅需要用到的就只有5个函数:SetupDiGetClassDevs // 获取设备信息集SetupDiEnumDeviceInfo //从设备信息集中枚举每个设备的具体信息SetupDiGetDeviceRegistryProperty // 从注册表中读取PnP设备的属性SetupDiSetClassInstallParams // 设置(包括取消)设备类的安装参数SetupDiCallClass 阅读全文

posted @ 2011-06-14 18:53 hgy413 阅读(648) 评论(0) 推荐(0) 编辑

如何控制一个程序只能有一个进程

摘要: EnumWindows的使用BOOL EnumWindows( WNDENUMPROC lpEnumFunc, LPARAMlParam );该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数,其中lParam是传递给lpEnumFunc的参数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。例如获取所有的桌面窗口句柄,并将其值放到CListBox中:进程统指应用程序的一个实例两个问题:1.在程序的第二个实例启动时,如何发现该程序已有一个实例在运行2.如何将第一个实例激活,而第二个实例退出由于windows并没有给内核对象定义 阅读全文

posted @ 2011-06-14 15:49 hgy413 阅读(425) 评论(0) 推荐(0) 编辑

2011年5月30日

关于如何换肤、子类化的解决方案

摘要: 关于如何换肤、子类化的解决方案作者:peterbing@sohu.com 对于应用程序的换肤及子类化。下面是我尝试过一些方法,以在CAboutDlg中子类化其中的Button为例:第一种:直接用现成的类1、自己写一个类class CButtonXP : public CButton{/*...*/}用MessageMap处理感兴趣的消息。2、用CButtonXP代替CButton来声明变量m_btn;3、在void CAboutDlg:DoDataExchange(CDataExchange* pDX)中加上一句:DDX_Control(pDX, IDB_BUTTON1, m_edit);或. 阅读全文

posted @ 2011-05-30 21:21 hgy413 阅读(184) 评论(0) 推荐(0) 编辑

2011年5月28日

WH_CALLWNDPROC

摘要: WH_CALLWNDPROC钩子监视SendMessage消息的传递,不管是系统内部调用的SendMessage()函数还是用户进程中调用的SendMessage()函数。 SendMessage()把消息直接交给窗口过程WndProc()来处理,WndProc()处理完消息后SendMessage()函数才返回(return resultValue;). 如果设置了WH_CALLWNDPROC类型的钩子,则当SendMessage()把消息交给WndProc时,在WndProc尚未执行前,系统调用CallWndProc钩子函数,钩子函数执行后才执行窗口过程WndProc。 WH_CAL... 阅读全文

posted @ 2011-05-28 11:49 hgy413 阅读(487) 评论(0) 推荐(0) 编辑

Win32help翻译(Hooks)

摘要: hook提供一种机制,使得程序可以在消息的传递过程中加入自己的处理方法。由于hook增加了消息传递过程中的处理,所以会影响系统性能,应该仅在必须的时候使用hookWindows提供多种不同的hook,每一种访问不同的消息处理,例如,程序可以使用WH_MOUSE来监视鼠标消息。对每种hook,Windows都提供了单独的hook chain。A hook chain is a list of pointers to special, application-defined callback functions called hook procedures。当消息产生时挂接到特定的钩子上,Wind 阅读全文

posted @ 2011-05-28 11:41 hgy413 阅读(199) 评论(0) 推荐(0) 编辑

2011年5月24日

VC编译过程

摘要: 首先是预编译(当然是编译之前做点准备工作了!) 常见的预编译指令有:(1)#include 指令,该指令指示编译器将xxx.xxx文件(.h或.cpp都可以,不要以为只有.h能#include)的全部内容插入此处,(2)#define指令 也就是宏展开了(3)#if、#else和#endif指令 在头文件中主要是避免重复调用 (比如说两个头文件互相包含对方)当然也可以用#pragma once,其次是编译 编译是以一个个独立的文件作为单元的,一个文件就会编译出一个目标文件。(这里插入一点关于编译的文件的说明,编译器通过后缀名来辨识是否编译该文件,因此“.h”的头文件一概不理会,而“.cpp”的 阅读全文

posted @ 2011-05-24 11:33 hgy413 阅读(232) 评论(0) 推荐(0) 编辑

上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 39 下一页

导航