- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 如何隐藏DLL的导出函数
估计有时你不想暴露所有的导出函数,导出一个类有时候更是不安全的。以下这样做是否可以?DLL中定义一个基类class IInterface{ public: virtual void DFun1() = 0; virtual void DFun2() = 0; //…… }导出类从这个基类派生//Driver.h
2008-08-05 18:00:00 2779 1
原创 类似迅雷的悬浮窗口
只大概说一下实时曲线如何实现:因为同时可能有几个任务在下载,所以要用定时器控制轮流切换每个任务的状态。主体思路是:1:为每个任务创建下面一些东西设备兼容DC :CreateCompatibleDC设备兼容的位图: CreateCompatibleBitmap把位图选入DC :SelectObject之后画进度图都在这个DC上画 所以你也可以选入一些不同的Brush p
2008-07-17 09:57:00 1085
原创 给RichEdit中插入图片的一个问题
void CMyRichEditCtrl::InsertSysHintBitmap(UINT bmpID)...{ HBITMAP hBitmap = (HBITMAP)::LoadImage( AfxGetInstanceHandle(), MAKEINTRESOURCE(bmpID),IMAGE_BITMAP,0,0, LR_CREATED
2007-08-08 11:08:00 1879 1
原创 static 变量
static const int m_a = 400; //它为什么就能直接初始化,并且可以使用在非static函数中?static int m_b; //在类的外部初始化const int m_c ; //成员初始化表中初始化
2007-06-25 18:41:00 640
原创 CWnd
CWnd::PreSubclassWindowThis member function is called by the framework to allow other necessary subclassing to occur before the window is subclassed.CWnd::PreCreateWindowCalled by the framew
2007-06-22 13:55:00 719
转载 解决Windows程序界面闪烁问题的经验
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话 <!-- -->
2007-06-14 11:29:00 809
原创 ATL对包容的支持
使用ATL开发的组件都可以被其它组件所包含,如果希望在一个组件中包容另一个组件,那么首先要创建这个组件.并且由于外部对象的功能要依赖于他所包含的内部组件的功能,所以还要尽快的创建.在什么地方创建呢?1:不能在构造函数中创建内部组件(它没有返回值)为什么需要返回值?因为要知道是否创建成功,内部组件创建失败,外部组件也回失败.2:FinalConstruct()函数中,(最好放在这儿)也可放在
2007-01-25 16:09:00 851
转载 如何在客户端避免繁冗的服务器GUID定义及导入?
如何在客户端避免繁冗的服务器GUID定义及导入? 有三种方法,从烦到易:1. 直接include MIDL生成的 XXX_i.c 文件并导入类型库,注意只需include即可,不要将其添加到项目文件里面来,编译会出错#include "atlexe_i.c"#import "atlexe.tlb" no_namespace, raw_interfaces_only 然后
2007-01-23 14:50:00 1099
转载 _com_ptr_t的使用
_com_ptr_t的使用 对于COM调用,大量的AddRef/Release调用无疑是例行公事和让人生厌。_com_ptr_t 是vc运行库中提供的固有的封装COM接口的智能指针,相比CComPtr/CComQIPtr缺少移植性,但是支持不是ATL实现部分的的异常和操作。以下是DirectShow中播放一个文件的代码: IGraphBuilder *pGraph; I
2007-01-23 09:53:00 1816
转载 ATL接口映射宏详解
ATL接口映射宏详解-- lostall序言:这几天看了看ATL的接口映射宏,不知不觉看得比较深入了,突然就萌发了把它写出来的 想法。ATL中定义了很多接口映射宏,有几个还是比较重要的,虽然好象没有必要把它所 有的细节都弄得很清楚,但深入学习的过程中也可以顺带学一学其他的ATL类,对它的机 制也可以更清楚一些,应该还是会有些好处的吧。我按照我学习的过程把它写出来,也 不知道大家能不能看懂
2007-01-08 14:26:00 974
转载 IE编程技巧大全
IE编程技巧大全黄森堂著1.实现Ctrl+C: ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL); 2.实现Ctrl+V: ExecWB(OLECMDID_PASTE,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL); 3.实现查找:MSHTML::I
2006-11-17 14:54:00 1022
转载 C++ 学习笔记(三)
关键词: C++ 运算符重载(1) 重载运算符的运算顺序和优先级不变,但参数和返回类型是可以重新说明的。(2) C++规定,运算符中,参数说明都是内部类型的,不能重载,如:int* operator+(int, int*);(3) C++还规定了“.、::、.*、-
2006-10-30 15:07:00 816
转载 C++ 学习笔记(二)
第二部分 面向对象程序设计类1、在类中定义的成员函数一般规模都比较小,语句只有1~5句,而且特别的swtich语句不允许使用。他们一般为内联函数,即使没有明确用inline表示。2、在C++中,函数声明在头文件中,但函数定义不能在头文件中,因为他们将被编译多次。3、如果是内联函数,包含在头文件中是允许的,因为内联函数在原程序中原地扩展。由于在类中定义的成员函数被默认为内联
2006-10-30 15:06:00 907
转载 C++ 学习笔记(一)
第一部分 面向过程程序设计内联函数函数声明: inline int FuctionName(…);注意事项:1、先声明后调用2、内联函数中,不能含有复杂的结构控制语句,如switch, while3、递归函数不能用于做内联函数。与宏定义相比的优点:1、 格式比宏定义自由;2、 可以进行常规函数的参数类型检查
2006-10-30 15:05:00 862
原创 ActiveX控件的属性、事件和方法
ActiveX控件的属性、事件和方法什么是ActiveX控件:一个进程内服务器,支持多种的COM接口。(可以理解为,一个COM接口是一个纯抽象基类,你实现了它,并且它支持自注册,就是一个ActiveX控件了) 控件的宿主程序应该就是appWizard里可选择的三种类型,DLL,EXE,Service就是一什么形式发布。自注册:向注册表中添加一系列注册表项和值的过程。(都是
2006-10-10 11:22:00 4020
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人