单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对...

阅读全文 »

内存对齐的原因 大部分的参考资料都是如是说的: * 平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 * 性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存...

阅读全文 »

收集的一些STL的学习资料: 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于 C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革...

阅读全文 »

摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望...

阅读全文 »

函数指针的使用其实是很灵活的,它有很多技巧性很高的应用,在表驱动方法中的应用很典型,这里着重介绍一下。 什么是表驱动方法 表是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,下面将对此进行讨论。 程序员们经常谈到"表驱动"方法,但是课本中却从未提到...

阅读全文 »

今天正在看孙鑫老师vc++16课的一个聊天程序视频教程,按照上面做了一下但遇到两个小的问题,最后解决了所以记录下。 当你的编译器用的是unicode字符集的话就会出现我遇到的这两个问题。 从ip地址控件上获取的值经过inet_ntoa转换为网络字节序后在接收端显示的时候是乱码 ...

阅读全文 »

遇到的问题是这样的, 在WTL中我用了一个WebBrowser控件来显示网页,但是在点击网页中的链接的时候经常跳到其他浏览器上去打开这个链接。我希望的是总是在我的这个控件上显示网页, 不要跳到其他浏览器上去打开。 添加IWebBrowser2控件 在创建的时候Select projec...

阅读全文 »

简单的含有js的网页 <html> <head> <mce:script type = "text/<a href="http://lib.csdn.net/base/javascript" class='replace_word' title="JavaScript知识库"...

阅读全文 »

目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏。众所周知,窗口的移动都是通过鼠标拖动窗口的标题栏来实现的,那么现在应用程序中的对话框没有了标题栏,用户如何移动对话框呢?本实例针对这个问题提出解决的办法。 实现方法 解决无标题栏窗口的拖动问题有两种方案,一种...

阅读全文 »

在用WTL的时候经常会遇到因为某某头文件没有包含而报错的问题,现将我常用的几个头文件列出来 define _WTL_USE_CSTRING // 提前声明CString类 include <atlbase.h> // 基本的ATL类 include <atlapp.h...

阅读全文 »

设置背景图片 ifndef __BITMAPBKGND_H__ define __BITMAPBKGND_H__ template <class T, UINT uBitmapID> class CBitmapBkgnd : public CMessageMap { ...

阅读全文 »

ifndef _LEARN_OBJECT_H_ define _LEARN_OBJECT_H_ class CIniFile { public: CIniFile() { } ~CIniFile() { } private: wchar_t ...

阅读全文 »

* 包含atlctrlx.h头文件 * 声明一个CHyperLink类的变量 CHyperLink m_linkIntro; * 在OnInitDialog函数里 m_linkIntro.SubclassWindow(GetDlgItem(IDC_STATI...

阅读全文 »

消息映射宏 MESSAGE_HANDLER(WM_VSCROLL, OnVscroll) MESSAGE_HANDLER(WM_SIZE, OnSize) MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel) 在OnInitDial...

阅读全文 »

gdiplus环境的初始化,在头文件 include <gdiplus.h> using namespace Gdiplus; pragma comment(lib, "gdiplus.lib") 定义两个成员变量 GdiplusStartupInpu...

阅读全文 »

int GetCustomerName(LPCTSTR szCustomerPath, CString strFileName[]) { int nFileCount = 0; WIN32_FIND_DATA finder; CString strCustomerF...

阅读全文 »

![electron demo实例](http://img.blog.csdn.net/20160807112955997) 用electron框架做的一个demo程序,调用的数据来自showapi中的接口。 1. 入口main.js 在app on ready回调中初始化菜单,主窗口...

阅读全文 »

登录框中通常有一个“记住我”的checkbox按钮,它是用来记住当前用户输入的用户名和密码,下次用户再次登录的时候就不用重新输入直接点击登录就可以了(现在很多浏览器自身就带有这样的功能)。在公用电脑上勾选“记住我”是很危险的,在个人电脑上可以给用户提供很多方便。简单的实现使用Cookie就可以了。 ...

阅读全文 »

浏览器同源政策及其规避方法 浏览器安全的基石是"同源政策"(same-origin policy)。很多开发者都知道这一点,但了解得不全面。 本文详细介绍"同源政策"的各个方面,以及如何规避它。 概述 含义 1995年,同源政策由 Netscape 公司引入浏览器。目前,...

阅读全文 »

目前有一个域名sanjiadian.net在它的基础上增加几个二级域名,通过二级域名访问新的nodejs服务。 增加二级域名 在阿里云中的域名服务中找到sanjiadian.net域名点击后面的解析,添加解析,tools,api,chat就是二级域名 ![二级域名列表](http:/...

阅读全文 »

聊天