06 2014 档案

【设计模式】抽象工厂模式
摘要:抽象工厂模式/************************************************************************//*设计模式抽象工厂模式抽象工厂模式和工厂方法模式非常相似相同点:一个具体的工厂类对应一个具体的产品类,每个产品类中只有一种具体的产品不同点... 阅读全文

posted @ 2014-06-28 22:52 崔好好 阅读(281) 评论(0) 推荐(0) 编辑

【windows核心编程】使用远程线程注入DLL
摘要:前言该技术是指通过在【目标进程】中创建一个【远程线程】来达到注入的目的。创建的【远程线程】函数为LoadLibrary, 线程函数的参数为DLL名字, 想要做的工作在DLL中编写。示意图如下:相关API1、创建远程线程//该函数除了第一个参数为目标进程句柄外//其他参数均和CreateThread一... 阅读全文

posted @ 2014-06-23 21:21 崔好好 阅读(1784) 评论(0) 推荐(0) 编辑

【设计模式】观察者模式(改进后的)
摘要:前言之前 观察者模式一篇中,【通知者】需要知道【观察者】的类名和更新函数名,耦合度稍大,本篇稍稍修改一下,类似于大话设计模式里的C#描述的委托事件的方法。采用 将类成员函数指针转换为普通指针 的方式,把每个【观察者】类的 相同原型的更新函数指针转换为std::function然后保存起来。然后在【通... 阅读全文

posted @ 2014-06-21 18:26 崔好好 阅读(393) 评论(0) 推荐(0) 编辑

使用std::function 把类成员函数指针转换为普通函数指针
摘要:前言这是改造前一篇 设计模式的基础,使通知者不必知道观察者的类名和函数名,只需要知道更新函数的原型即可。开发环境:WIN7 32位 + VS2010发现在VS2005中使用std::funtion报错:错误 1 error C2039: “function”: 不是“std”的成员 e:\vspro... 阅读全文

posted @ 2014-06-21 18:04 崔好好 阅读(10164) 评论(0) 推荐(0) 编辑

【设计模式】观察者模式
摘要:观察者模式适用于一个变化会引起其他多个变化引起变化的叫【通知者】,被引起变化的叫【观察者】。从代码实现角度讲,【抽象通知者】需要依赖于【抽象观察者】,至少需要知道抽象观察者的类名和一个【更新函数】名。这个模式的一般实现有点违反【面向接口编程,不要面向实现编程】,而且观察者的更新函数是同一个抽象基类的... 阅读全文

posted @ 2014-06-21 15:21 崔好好 阅读(483) 评论(0) 推荐(0) 编辑

【windows核心编程】一个HOOK的例子
摘要:一、应用场景封装一个OCX控件,该控件的作用是来播放一个视频文件,需要在一个进程中放置四个控件实例。 由于控件是提供给别人用的,因此需要考虑很多东西。二、考虑因素1、控件的父窗口resize时需要控件也随之resize 子窗体不能知道父窗口的resize情况,因为父窗口不会主动把这一情况通知子窗口... 阅读全文

posted @ 2014-06-17 20:56 崔好好 阅读(6789) 评论(0) 推荐(0) 编辑

【windows核心编程】线程局部存储TLS
摘要:线程局部存储TLS, Thread Local StorageTLS是C/C++运行库的一部分,而非操作系统的一部分。分为动态TSL 和 静态TLS一、动态TLS应用程序通过调用一组4个函数来使用动态TLS, 这些函数实际上最为DLL所使用。系统中的每个进程都有一组 正在使用标志(in-use fl... 阅读全文

posted @ 2014-06-08 14:51 崔好好 阅读(1314) 评论(0) 推荐(0) 编辑

【设计模式】建造者模式
摘要:设计模式 之 建造者模式//建造者模式/************************************************************************【建造者】提供了建造动作的接口【具体建造者】去实现【建造者】的每个接口,对每个【具体建造者】来说, 创建【产品】的步... 阅读全文

posted @ 2014-06-06 21:09 崔好好 阅读(253) 评论(0) 推荐(0) 编辑

给大家讲个故事
摘要:#include "stdafx.h"#include long long ago;#define 好了开始讲故事了 int _tmain(){#define 今天就讲到这大家都散了吧 {return 0;}}#define 说(sentences) ... 阅读全文

posted @ 2014-06-06 17:35 崔好好 阅读(280) 评论(0) 推荐(0) 编辑

VS2010下 LibVLC开发环境搭建
摘要:LibVLC环境的搭建最近又 LIBVLC 做一个视频播放器,封装成ActiveX控件,之前做过一个基于OpenCV的播放器(只解码视频,音频不用,OpenCV也没有解码音频的功能)。到目前位置完成的功能有设置文件名、播放、暂停/继续、获得视频长度、获得视频播放时间、设置视频播放位置(时间)、逐帧播... 阅读全文

posted @ 2014-06-06 16:18 崔好好 阅读(11627) 评论(2) 推荐(1) 编辑

Unicode转为UTF8
摘要:Unicode转换为UTF8要说这个转换也简单,使用WideCharToMultiByte两次或者直接一次就可以转换。 今天在弄VLC的时候,由于VLC的视频文件名使用UTF8编码,因此当路径中包含中文的时候(其播放函数的参数为char*),直接使用 char*(ANSI) 或者用WCHAR*(UN... 阅读全文

posted @ 2014-06-04 20:48 崔好好 阅读(1937) 评论(0) 推荐(0) 编辑

【设计模式】外观模式
摘要:/************************************************************************设计模式外观模式外观模式:有若干子系统,这些子系统提供提供了若干功能,如果要完成某个操作,需要由各个子系统的全部或若干功能组成,那就需要类似的代码:cla... 阅读全文

posted @ 2014-06-02 23:28 崔好好 阅读(321) 评论(0) 推荐(0) 编辑

【算法与数据结构】图 -- 十字链表
摘要:图的【十字链表】表示法是一种链式存储结构,可以看成是【邻接表】和【逆邻接表】的组合本文中用到的有向图/************************************************************************有向图的存储:十字链表有向图的十字链表存储结构,是有一... 阅读全文

posted @ 2014-06-02 18:51 崔好好 阅读(12672) 评论(2) 推荐(1) 编辑

【windows核心编程】DLL相关(3)
摘要:DLL重定向因为DLL的搜索路径有先后次序,假设有这样的场景:App1.exe使用MyDll1.0.dll, App2.exe使用MyDll2.0.dll, MyDll1.0 和 MyDll2.0是同一个DLL的两个版本,1.0为旧版本,2.0为新版本。而如果MyDll2.0.dll的存放路径的优先... 阅读全文

posted @ 2014-06-01 00:19 崔好好 阅读(805) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示