惯用c++,在windows平台做应用开发和底层研究,并对ua语言有深入的了解
用断点(OD中)拦截发包函数bp sendbp WSASendbp sendtobp WSASendto收包 拦截bp recvbp WSARecvbp recvformbp WSARecvform拦截窗口:bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口...
依赖倒转原则: 强内聚:像CPU一样,别的厂商木有办法造。因为看不见内部。 松耦合:像CPU的针脚一样,主板厂商知道怎么造主板能用cpu 依赖倒转原则:抽象不应该依赖结节,细节不应该依赖于抽象。
开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不可修改 为适应不断变更的新需求,就及早的想办法应对发生更大改变的可能。最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
最近不知怎么,很惆怅,经常叹气。。原因可能是 事业和女人都出现了让我难以选择的地步。突然发现我没有以前那么做什么决定都坚定不移了。而我又觉得,我以前那种坚定不移是那么的正确,可现在想坚定不移的做一个决定是那么难。
就一个类而言,应该仅有一个引起它变化的原因。我们在做编程的时候,很自然的会给一个类添加各种各样的功能,比如我们写一个窗体应用程序,一般都会生成Form1这样一个类,于是我们就把各种各样的功能,像商业运算法呀,像数据库访问啊,都写到类中,这就意味着,无论任何需求改变,我们都需要改变这个窗体类,这其实很糟高的,维护麻烦,复用不可能,也缺乏灵活性。
////////////////////////////////////////////////////////////////////////////CashCalculate.h#include using std::string;/*****************************...
// Critsetion.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; CRITICAL_SECTION g_cs; ...
1 简单工厂模式 1.1 问题 用任意一种面向对象语言实现一个计算器控制程序,要求输入两个数和运算符号,得到结果。 1.2 知识点 命名要规范,有意义 可维护性、可复用性、可扩展性 避免重复代码,重复代码用函数或宏等 计算和显示分开 模块划分要合理 保证修改无关性(修改一个方面就不造成另一方面的损失) 1.3 简单工厂模式 1.3.1 说明 简单工厂模式由一个工厂对象决定创建出哪一种产品的实例。
项目工程越大在,越不好维护,代码都不知道怎么组织了。以后看人家画的那些UML啦,讨论设计模式啦,还有用用例图,都有点逃避。不过貌似这些东西对项目整体有好处,而且也是一门艺术,那就学学喽。书已经买了《大话设计模式》。
1.1 链表元素CRuntimeClass 当达到RTTI的能力必须要达到一种能力就是在构建类的时候记录必要信息,以建立型录。型录中的类住处最好以链表的形式存。 链表元素将以 CRuntimeClass描述 struct CRuntimeClass { // Attributes ...
刚才班群里黄某某问,谁会破解QQ? 我来了一句,这要能这么容易破,那腾讯不早就完蛋了。 唉,短短的一个回答。顿时班群里没人之声了。 说完过了十几分种我就后悔了,我在想我为什么要这样说话,为什么要以一种很牛逼的状态说话呢? 我总是说话那么坚定不移,毫不含糊,自以为是。
原谅连接:http://www.codeguru.com/cpp/w-p/ce/controls/article.php/c3509/CCeButtonST-v12.htm The reference control for MFC flat buttons with text and icons.
原谅链接:http://www.codeguru.com/Cpp/controls/buttonctrl/article.php/c5157 I think some of you may not like the buttons in Windows.
转自 http://www.functionx.com/visualc/controls/bmpbtn.htm A bitmap button is a button that display a picture or a picture and text on its face.
原谅链接:http://msdn.microsoft.com/en-us/library/ms364048(v=vs.80).aspx Visual Studio 2005 Tom ArcherProgram Manager, Microsoft January 2006 Applie...
//线程回调函数 DWORD __stdcall ThreadPoc(PVOID pParam) { Sleep(10000); AfxMessageBox(_T("线程终止了")); return 10; } void CMutiThreadStudyDlg::OnBnClic...
(很荣幸被华南理工大学软件学院邀请撰写此文,关于毕业那会儿找工作的一些事情) 前些日子被华南理工大学软件学院邀请回去参加一些活动,其中包括跟一些师弟师妹们进行座谈。期间就有一个人问,要怎么样才可以去微软。
好了四年的女朋友终于提出要分手了,也算个大事情吧,也应该写点东西做个留念。不过我现在越来越发现我自己几乎没有感情了,感觉我分析问题把感觉抛的很远。总是又显得理性了,呵呵s。但是。。。这也导致很多杯具的发生。
#pragma once class CDBOp { public: bool ReConnect(); bool CloseConnect(); bool OpenConnect(CString hostName, CString dBName, CString us...
想当然只会令自己有错误的决定。宁静致远就是这个例子
DIV (unsigned divide) 无符号数除法 格式:DIV SRC 执行的操作: 字节操作:16位被除数在AX,8位除数为源操作数,结果的8位商在AL中,8位余数在AH中。表示为 (AL)
伤不起啊。我的两百块钱啊。。什么兰州省军区医院,简直狗屎。。
一年一度的回家时刻到了,心情还是比较不平静的。进而带来的就是这段时间的浮燥。 今年过得怎么样呢?刚还想概括一下呢,发现,今年真的也不是用一句话能概括的出来的。 反正总体上还算能达到我的预期的目标的,不可以说是超过了我最初想象的最初目标。
一、准备工作“工欲善其事必先利其器。” 1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。 2.椅子不一定要舒服,但是一定要可以半躺着。
待写.
//---------------------------------------------------------------------------int __stdcall mySort(long n1,long n2, long Reverse){ TTreeNode *Node...
发现自己真的成熟了,至少不会吧自己搞得烂醉了
元旦放假三天,无聊的蛋疼。好像发现点什么了。。。。 在社会上混已经足足两年半了,我得到了我想做的工作,但是我丢失了我的一大半朋友,张辉回酒泉了,大学里面一个班的同学,在兰州挣扎了一年左右,几乎都回自己的老家找工作了,只有我还奋战在一线,哎。
《汇编语言》 第二版 王爽著 虽然看得不是很认真,有些地方不太懂也跳了,但是我还是很高兴。
最近工作可谓是非常忙啊,健康龙卡这个项目要做的东西太多,太杂。昨天晚上和一个网友聊关于外挂的事,它给我说了好多,我也感受颇深。 我发现自己又开始浮燥了,急于求结果。我老是这样,但这样往往给往后的道路上带来一些消极影响。
五.使用TCHAR TCHAR是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用同样的代码,不需要使用繁琐的宏定义来包含你的代码。TCHAR的定义如下: #ifdef UNICODE typedef wchar_t TCHAR; #else typedef char TCHAR; #endif 所以用MBCS来build时,TCHAR是char,使用UNICODE时,TCHAR是wchar_t。
字符基础--SBCS、MBCS、Unicode 所有的 string 类都是以C-style字符串为基础的。C-style 字符串是字符数组。所以我们先介绍字符类型。这里有3种编码模式对应3种字符类型。
看电影的时候突然想起了高中,那个高中,那个电视有演仙剑奇侠传的高中,街头老是唱着刀郎的2002年的第一声雪和另外一首他的什么歌我忘了,还有一个有个歌词叫“还穿着那年夏天我送你的那双球鞋”的什么歌。我有时也不懂那是什么原因,如此的怀念,如果时光倒流,那我一定会把吃饭的钱省下买个摄像机,录下一幕幕,每时每刻。
唉,时间过的真快,不想睡但已经是2点多了。不睡不行了,因为明天又起不来了。明天还有好多问题要解决。 回想这一个月 ,时间过的非常充实。发现我就是那种与世隔绝,研究我的技术的那种人。出差没有在兰州的那些锁碎的事,也没有人打扰,在工作之余可以高高兴兴转心致志的研究我所想研究的东西没有人打扰,真的爽啊。
俺发现这里有很多人不懂汇编,居然也在学破解。 俺认为,不懂汇编的人永远只能是菜鸟! 也许你认为不懂汇编也能够从寄存器或堆栈中找到注册码,可是用注册码 = f(用户名或机器码) 算法的软件肯定会越来越少,而用F(注册码,用户名或机器码) 算法会成为主流,应用程序本身将不再含注册机功能,真正的注册...
3、if结合errorlevel使用: 说明:环境变量errorlevel的初始值为0,当一些命令执行不成功,就会返回一个数值,如:1 ,2 等 IF-ERRORLEVEL 测试代码: 复制代码 代码如下:@ECHO OFF XCOPY F:\test.bat D:\ IF ERRORLEVEL 1 ECHO 文件拷贝失败 IF ERRORLEVEL 0 ECHO 成功拷贝文件 如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。
首先说明,我绝对不是什么强人牛人,发这个帖只是为了给大家一个方向,一点鼓励而已,喜欢的就顶下,谢谢. 从本科说起吧.我高考考得很差,也许那就是我那时的水平了,去了一所很差的农业学校(全国大学排名在500左右),而且读的不是什么计算器或者理工科之类的好专业,而是"园艺",很多...
比如:#define DebugShowMessage( Msg ) ShowMessage (AnsiString(Msg)) 非常方便
static_cast 用法:static_cast(expression) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。
1.日志基类 .h文件 //--------------------------------------------------------------------------- #ifndef UnitLogWriterH #define UnitLogWriterH #include ...
1.Client端 阻塞模式常用在单通道Server自动响应收发数据里面,比如ClientA向ServerB发送报文,并且ClientA只需要它发送的这条数据ServerB对它有一个响应。其实c++ builder 里面阻塞模式的收发数据主要理解TWinSocketStream这个流。
TDateTime为实现TDateTime数据类型和使用TDateTime数据类型的日期-时间运行库例程的C++类。 TDateTime类继承了double型的val数据成员,其中包含了日期-时间值。
1、预备知识 临界区非常适合同一进程中对数据的串行访问,它的速度很快。然而,也许你想要使某些应用程序与机器中的其它事件或者其它进程取得同步,这时你就要使用一些核心对象来同步线程。核心对象包括: .进程 .线程 .文件 .文件变化通知(File Change notification) .控制台输入(Console input) .互斥量(Mutex) .信号量(Semaphore) .事件(Event) 每个对象在任何时候都可以处于两种状态之一:有信号(Signaled)和无信号(not signaled)。
一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#i nclude#i ncludeusing namespace std; #define STR(s) #s#define CONS(a,b) int(a##e##b) int main(){ ...
1.#pragma alignment alignment pragma用于显示一条当前内存对齐(alignment)和枚举(enum)字节大小的消息。例如: W8035: The alignment is 8 bytes, the enum size is 4 bytes该消息必须在打开编译器选项“show general messages”或编译器开关“-wmsg”后才能显示。
TThread是一个抽象类,可以创建几个独立的线程。类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。
关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有多个编译单元组成.
系统级热键,不论程序是否有焦点,都能起作用。就像QQ截图上用 ctrl alt A 鍵一样。 步骤: 注册热键: RegisterHotKey(this->Handle,1008,NULL,VK_F2)//将F2注册为系统级热键RegisterHotKey(this->Handle,100...
最近接触到这个函数,因此了解了一下,总结一下列在这。 我了解它的出发点是如何通过它向活动窗口输入字符,这是很多程序都有的功能(我猜Visual Assist X就用了这个功能)。 根据MSDN,此函数模拟按键操作,将一些消息插入键盘或鼠标的输入流中,Windows对它进行处理,生成相应的WM_KEYDOWN或WM_KEYUP事件,这些事件与普通键盘输入一起进入应用程序的消息循环,它们不仅可以转换为WM_CHAR消息,还可以转换为其它(诸如加速键)等消息。
SendInputSendInput可以将指定的鼠标键盘消息插入到系统消息队列,从而实现对鼠标键盘的模拟。有很多程序对SendInput进行了屏蔽,但不是所有的。所以这里介绍一下SendInput的使用。