自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 普通验证码识别编写

普通验证码识别流程:1.首先进行切割,将验证码,分成一块一块,知道需要分析的模板位图2.建立起模板位图,像图片的中的8 2 4 8 5,针对每一个数字进行建立模板,模板大小固定3.模板位图和目标位图进行像素匹配,就是计算出每个模板位图的像素与目标位图切割对象的像素匹配情况,然后得出匹配最大值!关键:模板位图的像素起始匹配点 和目标位图切割对象(上图的 8 2 4 8 5)

2015-11-23 20:51:57 498

原创 Linux启动流程图

2015-11-21 13:54:58 591

原创 js 获取本地IP方法

我们可以通过运行cmd ipconfig操作,本实例在IE下支持,其他浏览器不支持滴,版本高点的IE还需要运行权限才行var fso = new ActiveXObject("Scripting.FileSystemObject");var wsh = new ActiveXObject("WScript.Shell");wsh.Run("command.com /c ipconfig

2015-11-19 20:09:07 1208

原创 Winnet Api 使用

HttpOpenRequest有一个标志位INTERNET_FLAG_NO_COOKIESDoes not automatically add cookie headers to requests, and does not automatically add returned cookies to the cookie database.MSDN上 不自动添加Cookies到

2015-11-16 16:46:02 621

原创 vc 与 js应用

VC 与 js 交互的优点1.有时候我们需要让自己的软件打开一个网页,来获取页面上的一些数据。这时,可以用mshtml解析HTML提取出数据,也可以向HTML文档动态嵌入准备好的JS代码,用JS代码获取HTML上的数据,然后用VC调用该JS代码取得数据。2.有时候我们需要让自己的软件打开一个网页并操控该网页,填写表单,提交等动作。这时,可以用mshtml操作HTML,给文本

2015-11-10 09:34:26 548

原创 linux:服务

/etc/init.d 和/etc/rc.d/init.d 是启动脚本的位置,这两个目录是一样的/etc/sysconfig 初始化环境配置文件位置/etc 配置文件位置/etc/xinetd.conf xinetd配置文件/etc/xinetd.d/ 配置xinetd服务,这个服务是包含了子服务的,但是系统默认是没有安装的,可以通过yum -y install xinetd

2015-11-06 00:13:22 319

原创 linux:shell 编程 条件判断 以及 判断条件

判断语句test -e 文件  判断文件是否存在或者[ -e 文件 ]对其中一些判断的解析-nt-> newer than-ot-> older than-ef -> equal than-eq -> equal -ne -> not equal-gt -> greate than-lt -> lower than-ge -> greate

2015-11-05 22:17:54 329

原创 linux:sort命令

sort 命令是一个对文件的内容进行排序,当然它支持管道符,sort命令也是一个比较简单的命令,但是使用上有些细节需要注意的,例如:[root@localhost ~]# sort -t ":" -k 3 /etc/passwd  这命令什么意思呢?读取/etc/passwd 文件的内容,将其每行内容使用:进行分割,然后按照第三个字段进行排序,第三个字段的排序是数字型,我们希望按照从小到大

2015-11-05 21:49:42 388

原创 linux:通配符和正则

通配符一般是用以查找文件的,可以看成是完全匹配的意思,像ls,find,cp等命令不支持正则表达式的正则表达式则是不完全匹配的以上红色的字就是通配符和正则表达式的区别正则表达式:\{n\} n是数字,例如:[0-9]\{4\} 表示匹配4位数的数字\{n,\} 表示前面的字符不小于n次,例如[0-9]\{2,\} 表示两位以上的数字\{n,m\} 表

2015-11-05 17:09:22 370

原创 linux:~/.bash_history ,~/.bash_logout,/etc/issue,/etc/issue.net,/etc/motd

~/.bash_history 保存当前用户的shell的输入过的命令文件,这个文件不建议清除,当然有一种情况例外,就是mysql 输入密码的时候也同样会记录,所以这种情况最好还是清掉~/.bash_logout 是用户退出的时候做的操作/etc/issue 表示shell登录的时候显示的信息,这是本地登录的信息\d 显示当前系统日期\s 显示操作系统名称\

2015-11-05 16:43:12 422

原创 linux:环境变量配置文件

所有用户下都生效/etc/profile/etc/profile.d/*.sh  *.sh表示所有的.sh文件都支持/etc/bashrc用户目录下的环境变量文件~/.bash_profile ~/.bashrc

2015-11-05 15:29:28 447

原创 linux:变量测试与内容替换

上图是什么意思呢?以实例演示(第一行的情况):[root@localhost ~]# x=${y-123}   定义变量x[root@localhost ~]# echo $x  打印出变量x的内容123[root@localhost ~]# y=''  定义y等于空值[root@localhost ~]# x=${y-3} 定义x[root@local

2015-11-05 15:23:01 384

原创 linux:bash变量:declare

declare 声明变量-i 将变量声明为整数类型+i 将变量取消为整数类型-x 将变量设置为环境变量+x 将变量取消为环境变量-p 查询变量的类型[root@localhost ~]# aa=123   声明一个aa变量[root@localhost ~]# declare -p aa  查询aa变量类型declare -- aa="123"  两个--表示a

2015-11-05 15:09:30 449

原创 linux:预定义变量和read命令

$? 返回上一次命令执行的结果,0表示成功,其他值得表示失败!&& 怎么知道上一条命令是否执行成功,内部也是通过获取这个值实现的,如果命令不存在返回127值,如果文件夹不存在返回2$$ 当前进程的进程号PID$! 后台运行的最后一个进程的进程号PID,可以尝试 wc & 然后echo $! 则可以输出后台最后一个进程的PID号read接受用户输入的数据-

2015-11-05 14:48:52 396

原创 linux:位置参数变量

$n n是一个数字,支持0 到9 ,意思是$0,$1....这样调用,这样是获取命令参数的值,如果数字大于9,则需要这样获取${10} $@ 获取所有命令参数,有标志位区分,类似数组$#  获取命令参数的所有个数#*  获取所有命令整成一个字符串

2015-11-05 14:35:08 620

原创 linux:PS1 定义系统提示符的变量格式

PS1 注意1 是数字\d 显示日期,格式:星期 月 日\h 显示简写主机名.如默认主机名"localhost"\t  显示24小时制时间,格式为"HH:MM:SS"\T 显示12小时制时间,格式为"HH:MM:SS"\A 显示24小时制时间,格式为"HH:MM"\u 显示当前用户名\w 显示当前所在目录的完整名称\W 显示当前所在目录的最后一个目录\#

2015-11-05 14:26:31 485

原创 linux:输入输出重定向

输出名称 输出文件路径文件描述符标准输入 /dev/stdin0标准输出 /dev/stdout1标准错误 /dev/stderr2首先介绍输出 符号> 和 >> ,>表示将输出的内容覆盖原来的内容,>>表示将输出的内容追加实例:ls > abc 将ls命令输出的内容转移到文件中,转移前会清空文件内容ls >> abc 将ls命令输出的内

2015-11-05 13:38:01 390

原创 linux:Bash常用快捷键

ctrl+A  把光标移动到命令的开头ctrl+E  把光标移动到命令的结尾ctrl+C 强制终止当前的命令ctrl+L  清楚屏幕所有显示,和clear命令一样ctrl+K 剪切的功能,剪切光标后面的所有内容,可以当做删除使用,我们可以使用ctrl+Y粘贴ctrl+U  剪切的功能,剪切光标前面的所有内容,可以当做删除使用,我们可以使用ctrl+Y粘贴ctrl+Y 粘贴内

2015-11-05 10:45:46 315

原创 linux:/用户/.bashrc 保存别名永久生效

[root@localhost ~]# cat /root/.bashrc# .bashrc# User specific aliases and functions#下面就是bashell保存的别名的地方,要想增加永久的别名我们可以在这里增加alias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Sour

2015-11-05 10:37:19 2236

原创 linux:/etc/sysctl.conf 内核配置参数分析

vim /etc/sysctl.conf 我们可以查看到以下信息,这是redhat安装完后没有改动的信息  1 # Kernel sysctl configuration file for Red Hat Linux红帽子linux内核sysctrl配置文件  2 #  3 # For binary values, 0 is disabled, 1 is enabled.  See

2015-11-04 23:54:51 16858

原创 linux:/etc/sysctl.conf

vim /etc/sysctl.conf# Kernel sysctl configuration file for Red Hat Linux#红帽linux系统内核控制配置文件# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and对于二进制值,0禁用,1启用,更多信息,查看 sysctl(

2015-11-04 17:58:42 586

转载 linux ls -l 详解

转自http://hi.baidu.com/yzzcheng/item/1a2141878447891dc31627f5以root的家目录为例:可以看到,用ls -l命令查看某一个目录会得到一个7个字段的列表。第1行:总计(total)Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh

2015-11-04 10:38:13 4117

notepad++ 光标导航 向前向后支持 LocationNavigate4.7.8.rar

在Source Insight里,我们可以控制光标回到上次查看代码的位置,然后再返回当前编辑位置。这对于查看代码十分方便,但是在Notepad ++上并没有自带这个功能,有时候会很不方便。幸运的是,我们可以自己安装这个插件——LocationNavigate 。 notepad++ 中支持让光标回到前一个位置,也可以回滚到上上个位置,很方便。 根据你的版本安装其中一个,分别为ANSI 或者 UNICODE 的版本,将 LocationNavigate.dll 存放在 notepad++ 的安装目录 中,举个例子: D:\Notepad++\plugins\LocationNavigate\LocationNavigate.dll LocationNavigate 如果这个目录没有可以自己新建立一个 ,或用 notepad++的插件管理器先安装LocationNavigate 再替换资源中的附件,因为notepad++的管理器上安装的是没有效果的

2019-07-07

ATL开发指南(第二版)(PDF高清版)带书签附源码.zip

ATL开发指南 (第二版)PDF高清版带书签附源码 网上基本没有带目录的,此文档目录为本人花了半天时间制作的,方便大家的阅读,并附近上随书源码。 本书是介绍使用ATL进行软件开发的参考用书。全书分为十三章:第一章引入了C++模板的概念;第二章详细介绍了组件对象模型(COM);第三章介绍了活动模板库(ATL)的概念和使用方法;第四章涉及接口的实现和线程之间的参数调度等细节问题;第五章探讨了代码复用的两种方法――包容和集合;第六章讨论了关于自动化的问题;第七章说明了事件和连接点的管理;第八章围绕ActiveX控件展开了详细的论述;第九章介绍了COM中的两种实体――枚举器和集合;第十章研究了COM里的线程管理;第十一章讨论了OLE DB同ATL之间的关系;第十二章 介绍了两种GUI接口――对话框和视窗;最后一章解释了COM+的一些基本概念。 由于书中的内容非常庞杂,并且涉及到Visual C++开发的一些问题,所以本书对读者有一定的要求。我们希望你在开始阅读之前,已经了解COM、ActiveX控件的基本知识,并且具有使用Visual C++开发应用程序的实践经验。本书的主要对象是程序设计或开发人员,同时也可以作为大专院校计算机专业师生和计算机爱好者的参考资料。 目录: 第一章 使用C++模板开发应用程序 1.1 模板简介 1.1.1 函数模板 1.1.2 类模板 1.2 基于模板的堆栈类 1.3 成员函数的实现 1.4 不定类型的模板参数 1.5 基于模板的复用技术 1.6 ATL如何使用模板 1.7 小结 第二章 组件对象模型(COM)简介 2.1 软件组件及其属性 2.1.1 同语言的无关性:二进制的设计标准 2.1.2 版本升级的各律性 2.1.3 位置的透明性 2.1.4 面向对象的特性 2.2 COM模型的原始实现 2.2.1 客户程序和服务器程序 2.2.2 OLE和ActiveX 2.2.3 Microsoft Transaction Server(MTS) 2.3 COM的精髓:接口 2.3.1 C++的虚函数表 2.3.2 COM的接口 2.4 对COM接口的访问 2.5 组件的多接口特性 2.5.1 标准COM接口 2.5.2 TRESULT 2.5.3 IUnknown的实现 2.5.4 组件的生存期 2.5.5 全局特有标识符 2.5.6 标题标识符 2.5.7 注册表 2.5.8 组件的类别 2.5.9 OLEWEW 2.5.10 组件的宿主文件 2.5.11 类工厂 2.6 基于COM的复用技术 2.6.1 包容(Containment) 2.6.2 集合(Aggregation) 2.7 COM的API函数 2.7.1 CoInitialize和CoInitializeEx 2.7.2 CoUninitialize 2.7.3 CoRegisterClassObject 2.7.4 CoGetClassObject 2.7.5 CoCreateInstance 2.7.6 DllCanUnloadNow 2.7.7 DllGetClassObject 2.8 其他涉及COM的问题 2.8.1 C++里关于COM的宏:STEMETHOD和SIDMETHODIMP 2.8.2 COM和Unicode 2.8.3 COM和多态性 2.9 示例:建立一个简单的COM客户程序和服务器程序 2.9.1 第一步:创建Visual C++工程 2.9.2 第二步:创建IMATH.H文件 2.9.3 第三步:声明组件和类工厂 2.9.4 第四步:组件类和类工厂类的实现 2.9.5 第五步:创建组件的宿主(SERVER.CPP) 2.9.6 第六步:添加对自注册和组件类别的支持 2.9.7 第七步:标准入四点的导出 2.9.8 第八步:将文件插入到工程里并建立该工程 2.9.9 第九步:使用OLEVIEW测试Math组件 2.9.10 第十步:建立一个简单的COM客户 2.9.11 第十一步:建立客户工程 2.9.12 对服务器程序进行调试 2.9.13 示例中忽略的东西 2.10 小结 第三章 活动模板库 3.1 ATL的基本特征 3.2 ATL和MFC 3.3 ATL框架结构概述 3.3.1 ATL的实现 3.3.2 组件的宿主支持 3.3.3 对IUnknown的支持 3.3.4 对类工厂的支持 3.3.5 对COM程序开发的其他方面的支持 3.4 ATL向导程序的使用 3.4.1 ATL COM AppWizard 3.4.2 ATL对象向导程序 3.4.3 线程管理模型 3.4.4 接口 3.4.5 集合 3.4.6 对ISupporErrorInfo的支持 3.4.7 对连接点的支持 3.4.8 自由线程调度器 3.5 Object Wizard里的其他选项 3.6 一个服务器程序示例 3.6.1 ATL工程的结构 3.6.2 SYDM.H和SIDAFX.CPP 3.6.3 RESOURCE.H和ProjectName.rc 3.6.4 ProjectName.CPP、ProjectName.H和ProjectName.DEF 3.6.5 ProjectName.IDL 3.7 接口定义语言 3.8 ATL工程的建立 3.8.1 ATL的基本宿主支持:CComModule 3.8.2 BEGIN_OBJECT_MAP和OBJECT_ENTRY宏 3.8.3 CComModule 3.8.4 ATL对组件的支持 3.8.5 AddRef和Release所在的位置 3.8.6 CComObject 3.8.7 接口和多重继承 3.8.8 ATL_NO_VTABLE 3.8.9 ATL的类工厂支持:CComCoClass 3.8.10 自注册功能与注册器 3.8.11 ATL和组件的类别 3.9 使用ATL实现Math组件 3.9.1 创建Visual C++工程 3.9.2 ATL COM AppWizard 3.9.3 ATL Object Wizard 3.9.4 Object Wizard里的Names(名称项) 3.9.5 Object Wizard里的Attributes(属性项) 3.10 IMath接口的实现 3.11 添加IAdvancedMath及方法 3.11.1 MATH.H文件的改动 3.11.2 MATH.CPP文件的改动 3.12 工程的创建 3.12.1 建立另外一个COM客户程序 3.12.2 测试服务器 3.13 小结 第四章 接口、接口定义语言和调度 4.1 COM接口类型概述 4.1.1 Vtabe接口 4.1.2 IDispatch接口:Dispinterfaces 4.1.3 双向接口 4.2 组件及其接口的描述 4.2.1 类型信息 4.2.2 调度 4.3 分布式COM 4.4 标准调度 4.4.1 类型库(通用)调度 4.4.2 自定义调度 4.5 创建Proxy/Stub DLL 4.6 接口定义语言 4.6.1 基本语法和布局 4.6.2 接口的声明:方法和属性 4.7 IDL数据类型 4.7.1 数组 4.7.2 字符串 4.7.3 结构 4.7.4 ENUM类型 4.8 ATL及COM数据类型 4.8.1 接口指针 4.8.2 C++智能指针 4.8.3 CComPtr 4.8.4 CComQIPtr 4.8.5 BSTR 4.8.6 CComBSTR 4.9 COM的内存管理 4.9.1 COTastMemAlloc和CoTaskMemFree 4.9.2 IDL和内存管理 4.10 COM中的错误处理 4.10.1 ISupportErrorInfo 4.10.2 CreateErrorInfo和ICreateErrorInfo 4.10.3 SetErrorInfo和IErrorInfo 4.11 客户机和GetErrorInfo 4.12 ATL对错误处理的支持 4.12.1 CComCoClass::Error 4.12.2 ISupportErrorInfoImpl 4.13 示例:在一个EXE宿主程序中创建Math组件 4.13.1 步骤一:创建Visual C++工程 4.13.2 步骤二:使用ATL Object Wizard 4.13.3 步骤三:添加IMath和IAdvancedMath接口 4.13.4 步骤四:处理被零除的问题 4.13.5 步骤五:添加IMath2接口 4.13.6 步骤六:添加IComponentInfo接口 4.13.7 步骤七:工程的编译连接 4.13.8 步骤八:编连并注册Proxy/Stub DLL 4.14 示例:创建COM客户机程序 4.15 示例:创建Visual Basic客户机程序 4.15.1 步骤一:创建应用程序窗体 4.15.2 步骤二:为Math组件插入引用 4.15.3 步骤三:添加代码 4.16 小结 第五章 包容与集合 5.1 二进制复用 5 2 COM包干手 5.3 COM集合 5.4 ATL对集合的支持 5.5 创建集合组件 5.5.1 选择性集合 5.5.2 盲目集合 5.6 ATL对包容的支持 5.6.1 FinalConstruct和FinalRelease 5.7 ATL对集合的支持 5.7.1 可集合组件的实现 5.7.2 DECLARE_AGGREGATABLE宏 5.7.3 DECLARE_NOT_AGGREGATABLE宏 5.7.4 DECLARE_ONLY_AGGREGATARLE宏 5.7.5 DECLARE_POLY_AGGREGATABLE宏 5.8 集合的实现 5.8.1 COM_INTERFACE_ENTRY_AGGREGATE 5.8.2 COM_INTERFACE_ENTRY_AGGREGATE_BLIND 5.8.3 COM_INTERFACE_ENTRY_AUTOAGGREGATE宏和COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND宏 5.8.4 DECLARE_GET_CONTROLLING_UNKNOWN宏 5.9 示例:创建一个简单的Math组件 5.9.1 步骤一:创建实现IMath接口的简单Math组件 5.9.2 步骤二:实现IMath接口 5.9.3 步骤三:工程的编译连接(简单示例) 5.10 示例:使用集合实现高级Math组件 5.10.1 步骤一:实现IAdvancedMath接口 5.10.2 步骤二:与简单的Math组件集合 5.10.3 步骤三:纳入集合的CLSID和IID定义的头文件 5.10.4 步骤四:向类中添加IUnknown指针 5.10.5 步骤五:覆盖FinalConstruct接口 5.10.6 步骤六:将被集合组件的接口添加到接口映射中 5.10.7 步骤七:释放被集合的组件 5.10.8 步骤八:测试集合组件 5.11 示例:通过包容实现高级Math组件 5.11.1 步骤一:为IMath添加实现代码 5.11.2 步骤二:测试包容组件 5.12 小结 第六章 自动化 6.1 后绑定 6.2 Dispinterface 6.3 双向接口 6.4 自动化数据类型 6.4.1 VARIANT数据类型 6.4.2 SafeArray数据类型 6.5 实现一个派发接口 6.5.1 实现IDispatch接口 6.5.21 IDispatch API函数 6.6 双向接口的实现 6.7 访问基于IDispatch的接口 6.7.1 后绑定(动态绑定) 6.7.2 ID绑定(前绑定) 6.8 前绑定的需求信息 6.9 ATL对自动化的支持 6.9.1 IDispatchImpl 6.9.2 CComTypeInfoHolder 6.9.3 CComVariant 6.10 自动化与接口版本更新 6.10.1 IDispatch的版本更新 6.10.2 双向接口的版本更新 6.11 示例:使用自动化实现Math组件 6.11.1 步骤一:创建Math组件 6.11.2 步骤二:实现IMath接口 6.11.3 步骤三:设置IDL属性 6.11.4 步骤四:编连(Build)所生成的工程 6.12 添加第二个IDispatch接口 6.13 实现第三个双向接口 6.14 创建C++双向接口客户机程序 6.15 创建Visual Basic客户机程序 6.15.1 后绑定 6.15.2 前绑定 6.16 小结 第七章 事件和连接点 7.1 接口的回调 7.2 引入和引出接口 7.2.1 Advise方法 7.2.2 Visual Base中的Implements关键字 7.3 回调示例 7.3.1 步骤一:创建Chapter7_Server工程和Math组件 7.3.2 步骤二:实现IMath接口 7.3.3 步骤三:添加Advise方法 7.3.4 步骤四:定义引出接口 7.3.5 步骤五:通知客户机程序 7.4 Visual Basic客户机程序 7.4.1 步骤一:引用Chapter7_CallBackServer的类型库 7.4.2 步骤二:添加CallBack类 7.4.3 步骤三:通知并传送组件 7.5 可连接对象 7.5.1 IConnectionPointContainer 7.5.2 IConnectionPoint 7.5.3 连接点、自动化和IProvideClassInfo2 7.5.4 IProvideClassInfo2Impl 7.6 ATL与连接点 7.6.1 Implement Connecting Point Wizard向导程序 7.6.2 连接映射 7.6.3 IConnectionPointImpl 7.6.4 IConnectionPointContainerImpl 7.6.5 AtlAdvise 7.6.6 Visual Basic的WithEvents关键字 7.7 使用连接点的一个示例 7.7.1 步骤一:创建Math组件 7.7.2 步骤二:实现IMath接口 7.7.3 步骤三:定义Event接口 7.7.4 步骤四:运行Implement Connection Point Wizard 7.7.5 步骤五:创建一个C++连接点客户程序 7.7.6 步骤六:编写Visual Basic连接点客户机程序 7.8 小结 第八章 ActiveX控件 8.1 ActiveX控件和容器 8.1.1 容器模式 8.1.2 控件和容器接口 8.2 什么是ActiveX控件 8.2.1 OLE Controls’94规范 8.2.2 OLE Controls’96规范 8.2.3 控件和容器设计指南 8.3 ActiveX控件功能类属 8.3.1 基本的COM支持 8.3.2 自注册 8.4 控件注册表项 8.4.1 Control 8.4.2 Programmable 8.4.3 Insertable 8.4.4 MiscStatus 8.4.5 Verb 8.4.6 ToolboxBitmap32 8.4.7 TypeLib 8.5 组件类属 8.6 OLE文档接口 8.7 自动化支持:IDispatch 8.7.1 标准属性和固有属性 8.7.2 Ambient属性 8.7.3 ATL和Ambient属性 8.7.4 标准控件接口 8.8 可连接对象与控件事件 8.8.1 标准事件 8.8.2 属性页 8.9 属性的持续性 8.9.1 IPersistStream 8.9.2 IPersistStreamInit 8.9.3 IPersistPropertyBag 8.10 ATL对ActiveX控件的支持 8.10.1 ATL的ActiveX控件支持文件 8.10.2 ATL Object Wizard 8.10.3 Names和Attributes选项卡 8.10.4 Miscellaneous选项卡 8.10.5 View Status选项和透明控件 8.10.6 Misc Status选项 8.10.7 Add Control Based On选项 8.10.8 对话框中的Other选项区 8.10.9 Stock Properties选项卡 8.11 ATL Object Wizard创建的文件 8.11.1 CComControl 8.11.2 CComControlBase 8.11.3 CWindowImpl 8.11.4 CStockPropImpl 8.12 初始化固有字体属性 8.13 IOleObjectImpl 8.14 限制控件的大小 8.15 IViewObjectImpl 8.16 CComControl::OnDraw 8.17 IDataObjectImpl 8.18 IOleInPlaceObjectImpl 8.19 IOleInPlaceActiveObjectImpl 8.20 IOleControlImpl 8.21 IPersistStreamInitImpl和IPersistStorageImpl 8.22 属性映射 8.23 ATL对属性页的支持 8.23.1 CDialogImpl类 8.23.2 IpropertyPageImpl类 8.24 创建一个示例控件 8.24.1 创建控件的宿主程序 8.24.2 ATL Object Wizard的使用 8.24.3 ATL Object Wizard的Names和Attributes选项卡 8.24.4 ATL Object Wizard的Miscellaneous选项卡 8.24.5 ATL Object Wizard的Stock Properties选项卡 8.25 创建一个基本的控件 8.25.1 初始化固有属性 8.25.2 CComControl::OnDraw 8.25.3 实现控件属性的持久性:Property Map 8.26 添加固有属性页 8.27 添加自定义属性页 8.28向 控件中添加事件 8.29 使用Connection Point Wizard 8.30 小结 第九章 COM的枚举器和集会 9.1 COM枚举器 9.1.1 内部枚举器接口 9.1.2 IEnumString接口 9.2 客户枚举器的访问 9.3 ATL的枚举器支持 9.4 CComEnum的应用 9.5 建立一个简单的枚举器客户应用程序 9.6 实现一个简单的枚举器对象 9.6.1 步骤1:创建ATL服务器工程 9.6.2 步骤 2:实现枚举器对象 9.6.3 步骤3:访问这一简单的枚举器服务器 9.7 COM集合技术 9.7.1 集合对象的实现 9.7.2 ATL对集合的支持 9.8 movie集合的实现 9.8.1 步骤1:创建ATL集合服务器工程 9.8.2 步骤2:实现movie组件 9.8.3 步骤3:修改IDL文件 9.8.4 步骤4:实现movie的集合组件 9.8.5 步骤5:定义IMovieCollection接口 9.8.6 步骤6:实现IApplication接口 9.8.7 步骤7:创建工程 9.9 创建Visual Basic客户程序 9.10 创建C++客户程序 9.11 小结 第十章 COM的线程管理 10.1 COM线程管理概述 10.1.1 单线程单元 10.1.2 多线程单元 10.1.3 单元 10.1.4 进程内组件 10.2 单线程单元 10.2.1 主STA 10.2.2 STA组件的需求(概要) 10.3 多线程单元 10.3.1 MTA组件的需求(概要) 10.3.2 混合模型组件的需求 10.4 自由线程管理的调度器 10.5 CoMarshalInterThreadInterfaceInStream 10.6 代码示例 10.7 ATL和COM的线程管理 10.7.1 Single和Apartment选项 10.7.2 CComSingleThreadModel 10.7.3 Free和Both选项 10.7.4 Free-Threaded Marshaler选项 10.7.5 CComObjectRoot 10.8 线程管理的示例 10.8.1 步骤1:创建math组件 10.8.2 步骤2:IMath接口的实现 10.8.3 步骤3:定义事件接口 10.8.4 步骤4:实现Advise方法 10.8.5 步骤5:在线程内执行计算 10.8.6 步骤6:工程的创建 10.9 一个C++客户应用程序 10.10 小结 第十一章 OLE DB和ATL 11.1 Microsoft数据访问技术的历史回顾 11.1.1 ODBC 11.1.2 OLE DB 11.2 ATL和OLE DB 11.2.1 ATL OLE DB Provider模板 11.2.2 数据源类 11.2.3 对话类 11.2.4 行集合类 11.2.5 命令类 11.3 ATL OLE DB Consumer模板 11.3.1 通用数据源支持 11.3.2 行集合和绑定支持 11.3.3 表格和命令支持 11.3.4 用户记录 11.4 活动数据对象 11.5 示例 11.5.1 通用工程概述 11.5.2 数据源文件 11.5.3 表格文件 11.5.4 创建Provider工程 11.5.5 模式信息的提供 11.5.6 数据管理器的建立 11.5.7 通过ADO访问OLE DB Providers 11.5.8 MFC/ATL Consumer的例子 11.6 小结 第十二章 对话框和窗口 12.1 ATL的窗口创建类 12.1.1 CWindow 12.1.2 CWindowImpl和消息映射 12.1.3 CWinTraits 12.1.4 CSimpleDialog 12.1.5 CDialogImpl 12.2 建立一个简单的Window GUI 12.2.1 步骤1:创建一个简单的窗口 12.1.2 步骤2:创建模态对话框 12.2.3 步骤3:创建非模态对话框 12.3 小结 第十三章 COM+入门 13.1 Windows DNA 13.2 COM+MTS=COM+ 13.3 COM+提供的服务 13.4 COM+的目录(Catalog) 13.5 COM+的装载均衡服务 13.6 COM+的IMDB服务 13.7 COM+的对象缓存服务 13.8 COM+的队列组件 13.9 COM+事件 13.10 COM+的安全性服务 13.11 Visual C++未来的变化 13.11.1 基于属性的编程思路 13.11.2 属性语法 13.11.3 编译器的变化 13.11.4 接口描述符 13.12 最后一个例子 13.13 迈向COM+环境 13.14 小结 附录 Visual C++自带的COM支持 A.1 智能指针:_com_ptr_t A.2 BSTR(_bstr_t) A.3 Variant(_variant_t) A.4 COM的错误处理(.corn.error) A.5 #import指令 A.6 TLI和TLH文件 A.7 应该使用哪一种技术 A.8 客户应用程序示例 A.9 Chapter 6_NativeClient示例

2019-07-01

重建关联图标.bat

1.修复windows 文件关联的图标 变白,或者图标异常, 如:notepad++关联的图标不正确

2019-05-23

DirectX 3D游戏编程实用教程[郑阿奇]

DirectX 3D游戏编程实用教程[郑阿奇],包含了源码和PDF电子书,整套资料,带书签版本

2018-05-07

DX D3D EffectEdit.exe

.fx 文件,着色器,效果文件的编辑器,以Direct 9编译出来的,有可能需要dx9.0的运行库,后面可以自己安装

2018-04-13

DX Effect Editor

DirectX 的Sample,用于可以编辑.fx文件的着色器,支持vs 2010编译,只需要包含direct 9的开发包即可

2018-04-13

BCGControlBarPro.v11.00(含帮助文件和VS2008中文向导)

12.0完整版本下载地址: BCGControlBar Library Professional Edition v11.00完整源代码(含帮助文件和VS2008中文向导) 第二部分下载地址:http://download.csdn.net/source/2033250 使用方法: 1、解压至C:\Program Files目录下(解压密码:xiaoqing); 2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.11.00.reg; 3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。 与其它不同之处: 1、包含完整的源代码、帮助文件; 2、已经对 BCGPAppWizard2005 中的向导进行汉化,在 Visual Studio 2008 中可使用中文向导 BCGPAppWizard (参考 Visual Studio 2008 原有的中文向导,如果您想学习汉化向导,参考目录是:C:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\MFC\Application\templates\2052) 关于静态链接: 1、首先必须在运行向导BCGCBProIntegrationWizard.exe时已经编译静态库; 2、在 Visual Studio 建立项目向导时,选择静态链接即可。 关于使用 Office2007、2010 风格: 如果您使用了这些新风格,必须在项目中包括这些资源,否则 debug 版本启动时会报错(缺少资源,release版本不会提示,但显示不正常),具体有二种方法: 1、直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles中所有扩展名为 .rc 的资源包括进来即可。 2、直接在“资源视图”-“您的项目”上点右键,选择“资源包括”,在“资源包括”中的“编译时指令”中的#include "BCGCBPro.rc"后面添加以下代码: #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Aqua.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Luna.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Obsidian.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2007Silver.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyle2010White.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleCarbon.rc" #include "C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\BCGPStyleScenic.rc" 3、如果使用动态库链接,请手工编译C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles\Office2007_styles.sln或者build_all.dsp 仅为学习使用,下载后24小时内删除,请支持 BCGSoft 购买正版,本人不提供技术支持,不对任何负责。 尊重他人劳动成果,欢迎与大家分享成果。

2014-03-22

完美版 C++ 学习源码附加讲课PPT

完美版 C++ 学习源码附加讲课PPT 完美版 C++ 学习源码附加讲课PPT

2010-09-16

VC++实例源码,VC++窗口指针获取

VC++,实例,VC++实例源码,源码,如何获得指定点的控件指针

2010-09-16

VB6.0发短信到手机源码

VB 免费发送短信到手机的源码...附带VB附件

2010-06-26

OD使用破解教程,详细教会你汇编

OD使用破解教程,详细教会你汇编OD使用破解教程,详细教会你汇编

2010-06-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除