总结下网络编程中关键的细节问题,包含连接建立、连接断开、消息到达、发送消息等等; 连接建立 包括服务端接受 (accept) 新连接和客户端成功发起 (connect) 连接。 accept接受连接的问题在本文最后会聊到,这里谈谈connect的关键点; 使用非阻塞连接建立需要注意: connect Read More
posted @ 2016-12-08 23:19 findumars Views(503) Comments(0) Diggs(0)
本文来自:http://tech.ddvip.com/2007-03/117395585321221.html 一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH) Read More
posted @ 2016-12-08 23:12 findumars Views(1633) Comments(0) Diggs(0)
http://blog.sina.com.cn/s/blog_4c3538470100gews.html 1 实现系统滚动条换肤功能 对于Windows系统中各种控件换肤功能,要数滚动条的换肤最难实现了,尤其是控件自带的系统滚动条,如Edit、ListBox、ListView、TreeView等自带 Read More
posted @ 2016-12-08 23:04 findumars Views(1287) Comments(1) Diggs(0)
http://blog.csdn.net/witch_soya/article/details/6894713 Read More
posted @ 2016-12-08 23:02 findumars Views(175) Comments(0) Diggs(0)
http://blog.csdn.net/witch_soya/article/details/7794562 http://blog.csdn.net/witch_soya/article/details/7589823 http://blog.csdn.net/witch_soya/articl Read More
posted @ 2016-12-08 22:54 findumars Views(211) Comments(0) Diggs(0)
http://blog.csdn.net/witch_soya/article/details/6889904 Read More
posted @ 2016-12-08 22:52 findumars Views(567) Comments(0) Diggs(0)
http://blog.csdn.net/riklin/article/details/4417247 看好了,这是XP系统,未装.net。我的Photoshop学的不太好,把玻璃片弄的太透了些,如果你们有好的美术,再加上这种技术,肯定会如鱼得水。下面就来详细说说它的制作过程吧: 第 一步:在VC6 Read More
posted @ 2016-12-08 22:50 findumars Views(1228) Comments(0) Diggs(0)
1 在官方网站http://www.cegui.org.uk/ 下载最新的CEGUI 源代码 版本是0.7.7 2 下载编译需要用到的依赖文件包 将解压后的文件夹 Dependencies 和CEGUI放在同一个目录下如图 3 参考 CSDN博客上的 文章 http://blog.csdn.net/ Read More
posted @ 2016-12-08 22:49 findumars Views(392) Comments(0) Diggs(0)
摘自:http://www.jcwcn.com/html/VC/10_19_51_12.htm 做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠标消息的时候 ,还有就是在接收到WM_PAINT消息。刷新的时候也不是全部重画,所以想通过在继承的E Read More
posted @ 2016-12-08 22:48 findumars Views(1090) Comments(0) Diggs(0)
http://www.cnblogs.com/20090802/archive/2010/09/17/1829283.html 静态控件也是比较常用的控件,在VS开发环境中用的应该挺频繁的吧。 其实mfc中实现对窗口美化,主要依赖于重绘。static控件也是个窗口,windows为其留有自绘的权利, Read More
posted @ 2016-12-08 22:23 findumars Views(1152) Comments(0) Diggs(0)
http://hi.baidu.com/aidfan/blog/item/89547c4336566a1d9213c67a.html 有许多的软件的界面十分地漂亮,不仅窗口的客户区绘制得十分精细,连窗口的外形也是“奇形怪状”的,比如 Office 2000助手、Media Player 7、Medi Read More
posted @ 2016-12-08 22:21 findumars Views(646) Comments(0) Diggs(0)
一、背景FlashGet的透明效果大家羡慕吧.传统的Windows应用程序想实现半透明效果,一般来说需要处理自己的窗口的WM_Paint消息窗口,很麻烦.现在好了,SetLayeredWindowAttributes是windows的新api,win2000以上才支持,它能使使窗体拥有透明效果.我在 Read More
posted @ 2016-12-08 22:18 findumars Views(1258) Comments(0) Diggs(0)
http://blog.csdn.net/lijie45655/article/details/6362441实现自定义绘制的三步曲 既然您已经了解了绘制控件可用的各种选项(包括使用自定义绘制的好处),那么,让我们来看看实现一个自定义绘制控件需要的三个主要步骤。 执行一个 NM_CUSTOMDRAW Read More
posted @ 2016-12-08 22:16 findumars Views(1830) Comments(0) Diggs(0)
风格 描述按钮风格 应用于CButton类对象,例如单选框、复选框和按钮。在CButton::Create的dwStyle参数中设置一个组合的风格。组合框风格 应用于CComboBox类对象。在CComboBox::Create的dwStyle参数中设置一个组合的风格。编辑风格 应用于CEdit类对 Read More
posted @ 2016-12-08 22:10 findumars Views(3231) Comments(0) Diggs(0)
内容目录:1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XML6、C++各大有名库的介绍——科学计算7、C++各大有名库的介绍——游戏开发8、C++各大 Read More
posted @ 2016-12-08 22:07 findumars Views(3380) Comments(1) Diggs(1)
刚开始用C++做界面的时候,根本不知道怎么用简陋的MFC控件做出比较美观的界面,后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,开始对于C++软件界面美化有了一点点的心得。不敢藏私,希望和一些新手朋友们分享交流。 一 Read More
posted @ 2016-12-08 21:58 findumars Views(62406) Comments(1) Diggs(1)
【文章标题】: 虚拟桌面技术的初步探讨 【文章作者】: newjueqi 【作者邮箱】: zengjiansheng1@126.com【作者QQ号】: 190678908【编写语言】:VC++6.0【操作平台】: XP-SP2【作者声明】:感觉到这是一种非常有意思的技术,这篇就当成是学习笔记吧!本人 Read More
posted @ 2016-12-08 21:45 findumars Views(529) Comments(0) Diggs(0)
C语言程序的内存布局 一:C语言程序的存储区域 C语言编写的程序经过编绎-链接后,将形成一个统一的文件,它由几个部分组成,在程序运行时又会产生几个其他部分,各个部分代表了不同的存储区域: 1.代码段(Code or Text): 代码段由程序中的机器码组成。在C语言中,程序语句进行编译后,形成机器代 Read More
posted @ 2016-12-08 21:41 findumars Views(580) Comments(1) Diggs(0)
【文章标题】: 用汇编语言给XP记事本添加“自动保存”功能 【文章作者】: newjueqi 【作者邮箱】:zengjiansheng1@126.com 【作者QQ】:190678908 【使用工具】: OD, LordPE,eXeScope【操作平台】: XP-SP2【作者声明】: 本人平时一般的 Read More
posted @ 2016-12-08 21:34 findumars Views(465) Comments(0) Diggs(0)
BSTR使用误区以及隐藏的内存破坏和内存泄漏 作者:magictong 简介 BSTR的数据结构是什么样子并不是本文讨论的问题,但是却是本文的基础。在解决COM的跨平台编程的问题时,需要定义一种通用的字符串类型,它就这样被发明了,而且它的结构很容易匹配到不同的编程环境中,对于C++程序员来说,要记住 Read More
posted @ 2016-12-08 21:25 findumars Views(753) Comments(0) Diggs(0)
之前想弄个像QQ旋风那样的悬浮窗口,就研究了下怎么让窗口不显示在任务栏中,方法其实很简单就是将窗口的扩张属性设置成WS_EX_TOOLWINDOW,MSDN中对该属性有详细介绍,代码如下: ::SetWindowLong(m_hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW ) Read More
posted @ 2016-12-08 18:14 findumars Views(2103) Comments(0) Diggs(0)
[cpp] view plain copy ... m_hEvent = ::CreateEvent(NULL, FALSE, FALSE, NULL); ... while (TRUE) { // 等待 ::WaitForSingleObject(pThis->m_hEvent, INFINITE Read More
posted @ 2016-12-08 18:11 findumars Views(1746) Comments(0) Diggs(0)
关于在通过 事件对象 在服务程序和普通桌面应用程序相互之间通信的问题,分类情况进行讨论:1、普通桌面应用程序中创建事件,服务程序中打开事件 XP的情况普通桌面应用程序中创建: m_hEvent = ::CreateEvent(NULL, FALSE, FALSE, TEXT("{67BDE5D7-C Read More
posted @ 2016-12-08 18:08 findumars Views(322) Comments(0) Diggs(0)
摘要:主要谈谈vc里面函数调用汇编成汇编代码的情形,首先针对之前的一个小程序,说说vc编译器的优化。 例子程序: #include <iostream>using namespace std;int main(int argc, char* argv[]) { int i=10; int a = i Read More
posted @ 2016-12-08 18:02 findumars Views(932) Comments(0) Diggs(0)
前段时间,一个测试工程师问我关于怎样长时间的占用一个文件,而使别的程序无法再访问这个文件,想起以前很多病毒木马经常劫持hosts文件不放,除非你找到占用文件的程序,并强行结束掉,否则怎么也访问不了hosts文件,病毒通过劫持这个文件来达到劫持你的域名的目的,很有可能你输入了www.baidu.com Read More
posted @ 2016-12-08 18:00 findumars Views(1116) Comments(0) Diggs(0)
Vista之前的版本,默认本地登陆用户都以管理员权限启动程序,之后的OS版本默认都没有管理员权限,需要用户提权才能做某些操作,否则需要管理员权限的操作都会失败MSSQL是用户名账号连接,Socket方式,跟程序有没有管理员权限有毛线关系啊,你提供账号密码,远程别人啥系统都能连 Read More
posted @ 2016-12-08 17:59 findumars Views(178) Comments(0) Diggs(0)
摘要: 运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬。当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。 如:环境部署、排错和调优、备份、高可用和集群、监控告警、安全和审计、自动化和DevOps、虚拟化和 Read More
posted @ 2016-12-08 17:57 findumars Views(369) Comments(0) Diggs(0)
最近要写个在线专杀的东东,虽然是专杀(本来只要清除几个特定的文件和杀几个特定的进程,然后把用户的注册表恢复正常,很多病毒木马最喜欢干的一件事情就是写 映像劫持 然后机器一重启,安全相关的软件全部玩完了,不过这也没什么技术含量,利用了操作系统的“漏洞”而已),但是因为是 磁碟机,这个病毒(木马)很恶心 Read More
posted @ 2016-12-08 01:24 findumars Views(1000) Comments(0) Diggs(0)
方法一:利用CWnd本身自身支持的tooptip来实现,这种方法适用给控件增加tooltip,非常方便和简单方法如下:1、在窗口中增加消息映射ON_NOTIFY_EX(TTN_NEEDTEXT, 0, SetTipText)SetTipText是个回调函数,名字叫什么无所谓,符合原型就行了,原型下面 Read More
posted @ 2016-12-08 01:22 findumars Views(3909) Comments(0) Diggs(1)
内容目录: 自动类型推导 auto 萃取类型 decltype 返回类型后置语法 Trailing return type 空指针标识 nullptr 区间迭代 range-based for loop 去除右尖括号的蹩脚语法 right angle brackets lambda表达式的引入 原生 Read More
posted @ 2016-12-08 01:19 findumars Views(1103) Comments(0) Diggs(1)
这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写 Read More
posted @ 2016-12-08 01:18 findumars Views(2232) Comments(0) Diggs(0)
一、线程创建 Windows线程在创建时会首先创建一个线程内核对象,它是一个较小的数据结构,操作系统通过它来管理线程。新线程可以访问进程内核对象的所有句柄、进程中的所有内存及同一进程中其它线程的栈。 创建有以下几种方式,分别说明 首先声明一个线程函数,原型为: 1. CreateThread() 该 Read More
posted @ 2016-12-08 01:15 findumars Views(2029) Comments(0) Diggs(0)
我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding。 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等 Read More
posted @ 2016-12-08 01:12 findumars Views(722) Comments(0) Diggs(0)
下面这种方法是我见到的最理想的,还有一些其他的方法,像通过SetWindowsPos这个API设置窗口的Z-oder到最顶层,再设置回去。还有通过把当前窗口设置到底层,然后激活目标窗口等等方法。 HWND hCurWnd = NULL; DWORD dwMyID; DWORD dwCurID; hC Read More
posted @ 2016-12-08 01:10 findumars Views(4532) Comments(0) Diggs(1)
背景 vista下,如果不开启UAC,那就没有我下面要说的问题了,呵呵。下面说的都是在vista开启UAC的前提下说的,win7也适用。 在vista下,系统开启了UAC,如果你的软件通过manifest进行了提权(提升到管理员权限),那么exe上面会打上一个“小盾”的图标,这种程序启动的时候,会激 Read More
posted @ 2016-12-08 01:06 findumars Views(1755) Comments(0) Diggs(0)
相信消息钩子大家听的比较多,消息钩子能够在应用程序处理系统消息之前将其截获,提前处理并可以决定是否继续将消息往下传送,有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等等,要截获这些事件可以使用SetWinEventHook,它的原型如下: HWINEVENTHOO Read More
posted @ 2016-12-08 01:04 findumars Views(1689) Comments(0) Diggs(0)
山寨版很好很强大: 简单介绍一下,这是我用过的,获取屏幕的四个顶点(具体检测的时候可以向屏幕的中心剪一个像素,譬如检测 1,1而不是0,0)所在窗口的句柄,如果四个句柄都相同,则认为是全屏状态,其实有个问题,有些程序全屏的时候,还会有窗口弹出来,典型的像播放软件,全屏的时候,下面还有一个工具栏,这个 Read More
posted @ 2016-12-08 01:03 findumars Views(1182) Comments(0) Diggs(0)
跨越DLL边界传递CRT对象潜在的错误 翻译:magictong(童磊)2013年5月 版权:microsoft 原文地址:http://msdn.microsoft.com/en-us/library/ms235460(v=vs.80).aspx 简介 当你把C运行时(CRT)对象(譬如文件句柄、 Read More
posted @ 2016-12-08 01:02 findumars Views(590) Comments(0) Diggs(0)
浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent(注意,公式中的mantissa 和 exponent使用二进制表示)底数部分 使用2进制数来表示此浮点数的实际值。指 Read More
posted @ 2016-12-08 00:56 findumars Views(429) Comments(0) Diggs(0)
Cppcheck is an analysis tool for C/C++code. Unlike C/C++ compilers and many other analysis tools, it doesn’t detect syntax errors. Cppcheck only detec Read More
posted @ 2016-12-08 00:54 findumars Views(1182) Comments(0) Diggs(0)
如果是在VC6下进行编译,应引入下面的预编译宏,注意放在windows.h的前面#undef WINVER #define WINVER 0x500为什么要引入上面的宏呢?看看winuser.h里面该API的声明就明白了:#if(WINVER >= 0x0500)WINUSERAPIBOOLWINA Read More
posted @ 2016-12-08 00:53 findumars Views(3175) Comments(0) Diggs(0)
判断一个窗口是否被挂起了(就是没有响应了),在多窗口编程了经常会用到,在给别的窗口发消息前,为了目的窗口能确定收到消息,常常在之前先检测窗口是否被挂起了,我们以前常用的方式的是使用下面的方法: [cpp] view plain copy // 判断一个窗口是否已经停止响应了(超时0.5秒) DWOR Read More
posted @ 2016-12-08 00:52 findumars Views(1957) Comments(0) Diggs(0)
线程天敌TerminateThread与SuspendThread 作者:童磊(magictong) 目的:不是演示TerminateThread和SuspendThread的原理而是希望能在自己的程序中摒弃它们。 一、不使用TerminateThread的N条理由(先YY一下) 1、如果使用Ter Read More
posted @ 2016-12-08 00:48 findumars Views(4093) Comments(0) Diggs(0)
Visual C++ 异常(Exception)常见问题 版权:Doug Harrison 2001 – 2007 翻译:magictong(童磊) 2011年3月 原文地址:http://members.cox.NET/doug_web/eh.htm 本文讨论了一些在Visual C++中实现的, Read More
posted @ 2016-12-08 00:43 findumars Views(869) Comments(0) Diggs(0)
最近看了下电脑管家里面修复漏洞时阻止系统进入待机模式的实现,其实很简单,哈哈。可以看一下这个MSDN上对这个API的说明:http://msdn.microsoft.com/en-us/library/aa373208(v=vs.85).aspx 以下是转载 暴风影音在播放的时候会阻止屏幕保护程序的 Read More
posted @ 2016-12-08 00:41 findumars Views(6289) Comments(0) Diggs(0)
原文地址:http://www.yuanma.org/data/2009/0506/article_3647.htm 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成 Read More
posted @ 2016-12-08 00:39 findumars Views(1013) Comments(0) Diggs(0)
P.S.话说有很多天很多天没有写东东了啊,因为实在太忙了,还是恢复至少一个月两篇的状态吧。 我们的程序有时候需要精确的判定当前运行在哪个系统下面,也就是说程序的某个功能可能需要知道当前运行在哪个真正的操作系统下,而操作系统提供了一个兼容模式功能,就是用户可以设置某个程序运行在某个模拟的更低的版本的操 Read More
posted @ 2016-12-08 00:36 findumars Views(1525) Comments(0) Diggs(0)
IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和catch,总觉得一个完美的程序,应该代码的每一处都可以被程序员控制的,我倾向如对函数的返回值和参数 Read More
posted @ 2016-12-08 00:35 findumars Views(1264) Comments(0) Diggs(0)
大小写转换和性能 前言 本文主要讨论最基本的一些大小写转换函数和API,不讨论一些常见的字符串程序库里面的大小写转换接口,另外本文的落脚点是这些转换函数的性能和日常开发中遇到的一些问题。 不考虑范围 其实ctype.h里面有定义一套宏,就是不考虑字符是否落在A-Z,a-z范围,直接计算(直接用加减法 Read More
posted @ 2016-12-08 00:30 findumars Views(3668) Comments(0) Diggs(0)
RegQueryValueEx gethostbyname/getaddrinfo _localtime64 FindFirstFile/FindNextFile VerQueryValue CreateFileMapping相关 SetDllDirectory Windows API就没有问题、没 Read More
posted @ 2016-12-08 00:28 findumars Views(1182) Comments(0) Diggs(0)
TinyHTTPd forWindows 前言 TinyHTTPd是一个开源的简易学习型的HTTP服务器,项目主页在:http://tinyhttpd.sourceforge.NET/,源代码下载:https://sourceforge.Net/projects/tinyhttpd/,因为是学习型的 Read More
posted @ 2016-12-08 00:26 findumars Views(1514) Comments(0) Diggs(0)
判断一个32位应用程序是否运行在x64系统下,可以使用下面的代码: [cpp] view plain copy BOOL IsX64System() { BOOL bIsWow64 = FALSE; typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, Read More
posted @ 2016-12-08 00:23 findumars Views(917) Comments(0) Diggs(0)
在上篇文章《inline的另一用处》中,提到函数实现在类定义中与类定义外的区别。 现在先看个实验: a.cpp: [cpp] view plain copy #ifndef TEST_H #define TEST_H class A{ public: int fun(int x){ return ( Read More
posted @ 2016-12-08 00:20 findumars Views(4069) Comments(0) Diggs(0)
Windows中的窗口在特定情况下会由系统进行重绘,如无效区域重新显现时,,会向窗口的处理过程发送VM_PAINT消息,但是,可能还有Windows自己的更新窗口处理,如在下面的代码中,将击键显式地转换为VM_PAINT消息,让窗口过程处理,但是运行的结果却是,击键后窗口没有马上重绘(显示字体没有改 Read More
posted @ 2016-12-08 00:18 findumars Views(416) Comments(0) Diggs(0)
<<这不是原创,是老文,Pankaj Garg写的,看后翻译了一下,原文可以在http://www.intellectualheaven.com/找到。>>1 介绍Windows 32位 x86 操作系统最多能访问4GB的物理内存。这是因为处理器的寻址总线是32条(我们常说32位),能够访问的存储单 Read More
posted @ 2016-12-08 00:15 findumars Views(1415) Comments(0) Diggs(0)
在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。 [java] view plain copy package test; imp Read More
posted @ 2016-12-08 00:06 findumars Views(480) Comments(0) Diggs(0)
首先做个试验: test.c: int a;int b=34;int add(int,int);int main(){int c;int d=26;c=add(b,d);return 0;} add.c: int m;int n=65;int add(int x,int y){int j;int k Read More
posted @ 2016-12-08 00:04 findumars Views(345) Comments(0) Diggs(0)