- 博客(106)
- 资源 (54)
- 收藏
- 关注
原创 Socket模型详解(转)
两种I/O模式一.选择模型二.异步选择三.事件选择四.重叠I/O模型五.完成端口模型五种I/O模型的比较 两种I/O模式1、 两种I/O模式阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字默认为阻塞模式。可以通过多线程技术进行处理。非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用起来比
2013-11-18 20:26:54 1216
转载 C++虚函数与虚函数表(转)
C++虚函数与虚函数表 多态性可分为两类:静态多态和动态多态。函数重载和运算符重载实现的多态属于静态多态,动态多态性是通过虚函数实现的。每个含有虚函数的类有一张虚函数表(vtbl),表中每一项是一个虚函数的地址, 也就是说,虚函数表的每一项是一个虚函数的指针。没有虚函数的C++类,是不会有虚函数表的。两张图: 简单例子:
2013-12-18 21:03:40 860
原创 (转)使用Custom Draw实现ListCtrl的重绘
使用Custom Draw实现ListCtrl的重绘 common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几种,例如Owner Draw
2013-11-18 20:26:51 1115
原创 转:CWnd的函数,以后可以在这儿找了!
CWndCObject └CCmdTarget └CWndCWnd类提供了微软基础类库中所有窗口类的基本功能。CWnd对象与Windows的窗口不同,但是两者有紧密联系。CWnd对象是由CWnd的构造函数和析构函数创建或销毁的。另一方面,Windows的窗口是Windows的一种内部数据结构,它是由CWnd的Create成员函数创建的,
2013-11-18 20:26:48 1244
原创 MFC资源冲突解决方法
AFX_MANAGE_STATE(AfxGetStaticModuleState()) 先看一个例子:1、创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源。指定该对话框ID如下: #define IDD_DLL_DIALOG 20002、创建一个基于对话框的mfc应用程序,它包含两个对话框资源,IDD_UI_DIA
2013-11-18 20:26:46 1893
原创 MFC窗口和控件大小等比例变化
第一步:OnInitDialog里保存对话框及其所有子窗体的Rect区域 1 CRect rect; 2 GetWindowRect(&rect); 3 listRect.AddTail(rect);//对话框的区域 4 5 CWnd* pWnd = GetWindow(GW_CHILD);//获取子窗体 6 while(pWnd) 7 { 8
2013-11-18 20:26:44 1206
原创 MFC下调用控制台和控制台下MFC库的支持
1.MFC下调用控制台在CWinApp的InitInstance中对话框的DoModal之前加入1 AllocConsole(); // 开辟控制台2 SetConsoleTitle(_T("测试窗口")); // 设置控制台窗口标题3 freopen("CONO
2013-11-18 20:26:42 1052
原创 IT类网址导航
MSDN (中文版)网址:http://msdn.microsoft.com/zh-cn/default.aspxMSDN (英文版)网址:http://msdn.microsoft.com/en-us/default.aspxMicrosoft 网址:http://www.microsoft.com/en-us/default.aspxInfoQ 网址:http://www.info
2013-11-18 20:26:40 1271
原创 Javascript技巧
1 收藏本站 2 3 4 收藏本站 5 或: 6 7 function bookmarkit() 8 { 9 window.external.addFavorite('http://www.xjcncn.com','新疆二域设计') 10 } 11 if (document.all)d
2013-11-18 20:26:38 14040
原创 C#操作EXCEL
使用Microsoft.Office.Interop.Excel.dll生成Excel文件: 1 public class CreateExcel 2 { 3 private static Microsoft.Office.Interop.Excel.Application app = null; 4 5 private
2013-11-18 20:26:35 941
原创 ASP.NET验证码
1 验证码样式一 2 protected void Page_Load(object sender, EventArgs e) 3 { 4 if (!Page.IsPostBack) 5 { 6 this.GenImg(this.GenCode(4));
2013-11-18 20:26:33 1137
原创 CreateThread和_beginthread的区别
1.程序: 程序构成: (1)源代码 (2)可执行的二进制代码 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。由操作系统加载其可执行的二进制代码,分配相应的数据结构:进程控制块PCB(Process Control Block),进行一些列初始化操作(创建进行ID、分配时间片等)后得到进程。 2.进程:分配资源的最小单位 进程
2013-11-18 20:26:31 1093
原创 EXE文件格式判断
可能很多的人都没有注意到一些事情,就是你的程序是不是合法的可运行的应用程序,例如一个文件只是把后缀改成 .exe 的形式就显示为应用程序的图标了! 你不想写一个根据后缀名就确定应用程序类型的程序吧!这样太哪个了吧!解决方法就是根据PE文件格式来解释。关于PE文件格式的资料现在网上汗牛充栋,这里我就不再解释,有兴趣的朋友可以上网查阅PE文件格式资料。我就简单的用代码去演示如何判断PE文件合法,主要就
2013-11-18 20:26:28 1436
原创 汽车撞到一位女孩之后的N种版本
一辆汽车飞速驶来,当即将撞到女孩的时候……女孩突然腾空而起,在空中转体720度并从腰间拔出两把***,对准汽车不停射击,汽车随即爆炸。——美国大片 一辆汽车飞速驶来,当场把女孩撞倒。司机慌忙下车,到车头一看没有女孩。回头时,发现女孩坐在车后坐。满脸鲜血并对司机微笑。——日本恐怖片 一辆汽车飞速驶来,当场把女孩撞到。当司机扶起女孩并发现其脖子上的胎记时,痛哭流涕。原来女孩是他失散多年的亲妹妹
2013-11-18 20:26:26 1387
原创 环境变量
环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的默认路径
2013-11-18 20:26:24 926
原创 Windows API —— ShellExcute——打开文件
函数原型:1 HINSTANCE ShellExecute( 2 HWND hwnd,//指向父窗口的窗口句柄。此窗口接收应用程序产生的任何信息框3 LPCTSTR lpOperation,//要执行的操作4 LPCTSTR lpFile,//要打开或打印的文件或者是要打开或搜索的文件夹。 5
2013-11-18 20:26:22 1091
原创 STL —— string
1.什么是STL: STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map
2013-11-18 20:26:20 856
原创 Windows API ——GetFileTime——获取文件时间
FILETIME结构包含了文件或目录的日期和时间信息:(自1601年1月1日以来,单位为100纳秒)1 typedef struct _FILETIME {2 3 DWORD dwLowDateTime; //低32位4 5 DWORD dwHighDateTime; //高32位6 7 } FILETIME, *PFILETIME; SY
2013-11-18 20:26:18 1561
原创 Windows API ——CreateFile——创建文件
这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象:控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 函数原型:1 HANDLE CreateFile(2 LPCTSTR lpFileName, // 文件名3 DWORD dwD
2013-11-18 20:26:16 1209
原创 Windows API——FindFirstFile——查找文件
1 //查找文件 2 HANDLE WINAPI FindFirstFile( 3 __in LPCTSTR lpFileName,//文件名或路径 4 __out LPWIN32_FIND_DATA lpFindFileData 5 ); 6 7 //查找下一个文件 8 BOOL WINAPI FindNextFile(
2013-11-18 20:26:14 1671
原创 Windows API ——GetLogicalDriveStrings——获取逻辑驱动器
1 TCHAR buffer[MAX_PATH];2 DWORD dwVal=::GetLogicalDriveStrings(MAX_PATH,buffer);3 4 CString str;5 for(int i = 0; i 4)6 {7 CString str;8 str.Format(_T("%c:\\"), buffer[i]);9
2013-11-18 20:26:12 902
原创 Windows API——SHFileOperation——文件操作
1 int SHFileOperation( LPSHFILEOPSTRUCT lpFileOp);如果执行成功返回0. 1 typedef struct _SHFILEOPSTRUCT { 2 HWND hwnd;//指向发送消息的窗口 3 UINT wFunc;//执行的操作 4 LPCTSTR pFrom;//源文件名 5 LPCTSTR pTo;//
2013-11-18 20:26:09 970
原创 Windows API——SHGetFileInfo——获取文件信息
本文从一下几个方法进行介绍: SHGetFileInfo的定义 SHGetFileInfo()函数的工作原理 SHGetFileInfo()函数的返回值 SHGetFileInfo()函数的简单示例 SHGetFileInfo的定义 SHGetFileInfo在MSDN上的定义是: Retrieves information about
2013-11-18 20:26:07 964
原创 回调函数CALLBACK
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 1 函数指针回调在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。因此,要实现回调,必须首
2013-11-18 20:26:05 836
原创 堆和栈的区别(转载)
首先,我们举一个例子: void f() { int* p=new int[5]; } 这条短短的一句话就包含了堆与栈,看到new,我们首先就应该想到,我们分配了一块堆内存,那么指针p呢?他分配的是一块栈内存,所以这句话的意思就是:在栈内存中存放了一个指向一块堆内存的指针p。在程序会先确定在堆中分配内存的大小,然后调用operator new分配内存,然后返回这块内存的首地址,放入栈
2013-11-18 20:26:03 682
原创 窗口的部分显示与隐藏
1.添加Picture控件2.将Picture控件拖动成一条线,放到需要界面隐藏的部分的位置3.添加按钮的响应代码 1 static CRect rectSmall, rectBig, rectSeperator;//静态变量保留运行期间的值:隐藏后的矩形,隐藏前的矩形,分割线的矩形 2 if (rectBig.IsRectNull())//判断是否是第一次
2013-11-18 20:26:01 1217
原创 MFC 消息类型——实践(转载)
1、命令消息(WM_COMMAND所有派生自 CCmdTarget 的类都有资格接受WM_COMMAND。 2、Window消息(WM_xxx) 所有派生自 CWnd 的类都有资格接受 WM_xxx。 3、控件消息(WM_NOTIFY) 控件向其父窗口通知消息。 消息处理 1、WM_xxx 消息处理 窗口类(自身)处理→基类处理→CWnd∷DefWindowProc()处理; 其所对应的宏
2013-11-18 20:25:59 700
原创 MFC消息类型——理论(转载)
Windows系统是一个消息驱动的操作系统,消息是应用程序与操作系统交互的手段。消息的产生来源于系统事件和用户事件,Windows用消息来调入和关闭应用程序。例如在关机操作中,Windows给所有正在运行的应用程序发出一个关机的消息,通知它们退出内存,此时,应用程序用响应消息的方法来回应。MFC通过封装的方式提供对大部分消息处理的接口。本章将围绕消息分类、发送、接收、处理以及重定向等内容展开讨论。
2013-11-18 20:25:57 725
原创 MFC中获得各个类的指针/句柄的总结(转)
一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针获取和操作问题。下 面这节内容主要是一般的框架,然后再讲多线程中的指针使用。使用到的类需要包含响应的头文件。首先一般获得本类(视,文档,对话框都支持)实例指针 this,用this的目的,主要可以通过类中的函数向其他类或者函数中发指针,以便于在非本类中操作和使用本类中的
2013-11-18 20:25:55 754
原创 句柄
句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:>(Microsoft Press,by Richard Wilton)一书中句柄的概念是:在Windows环境中,句柄是用来标识项目的,这些项目包括: *.模块(module) *.任务(task) *.实例(instance) *.文件(file)
2013-11-18 20:25:53 733
原创 SendMessage和PostMessage
SendMessage 和 PostMessage 的区别 1、首先是返回值意义的区别,我们先看一下 MSDN 里的声明:LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);BOOL PostMessage(
2013-11-18 20:25:51 961
原创 Windows API——OpenClipboard——剪切板
剪切板:系统维护的一个全局公共内存区域.每次只允许一个进程对其进行访问。剪切板操作方法如下:(MSDN上搜索Clipboard Operations)1.打开剪切板Bool OpenClipboard(HWND hWndNewOwner); 指定关联到打开的剪切板的窗口句柄,传入NULL表示关联到当前任务。每次只允许一个进程打开并访问。每打开一次就要关闭,否则其他进程无法访问剪切板。
2013-11-18 20:25:48 998
原创 Windows API ——LoadCursor——载入鼠标
1: LoadStandardCursor使用方法 . LoadStandardCursor用来载入系统自带的光标 , 调用方式如下: HCURSOR hCursor = (HCURSOR)AfxGetApp()->LoadStandardCursor(IDC_CROSS); ::SetCurso
2013-11-18 20:25:46 4569
原创 Windows消息循环
1 #include 2 #include 3 #include "resource.h" 4 5 #define MAX_LOADSTRING 100 6 TCHAR szTitle[MAX_LOADSTRING] = _T("标题栏"); // 标题栏文本 7 TCHAR szWindowClass[MAX_LOADSTRING] = _T("
2013-11-18 20:25:44 940
原创 PreTranslateMessage
MFC中CWintThread的PumpMessage函数的定义: 1 BOOL CWinThread::PumpMessage() 2 { 3 _AFX_THREAD_STATE *pState = AfxGetThreadState(); 4 5 ::GetMessage(&(pState->m_msgCur), NULL, NULL, NULL
2013-11-18 20:25:42 884
原创 windows消息大全
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg, 它在Windows中是这样声明的: typedef st
2013-11-18 20:25:40 642
原创 Windows消息中的虚拟键列表
Windows消息中的虚拟键列表Windows消息中的虚拟键VK_LBUTTON 鼠标左键 0x01VK_RBUTTON 鼠标右键 0x02VK_CANCEL Ctrl + Break 0x03VK_MBUTTON 鼠标中键 0x04VK_BACK Backspace 键 0x08VK_TAB
2013-11-18 20:25:38 1059
原创 钩子HHOOK
基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获
2013-11-18 20:25:36 751
原创 Windows API——SHGetSpecialFolderPath——获取系统特殊路径
1 BOOL SHGetSpecialFolderPath( 2 HWND hwndOwner, 3 LPTSTR lpszPath, //路径,长度至少为MAX_PATH,Windows下即260 4 int nFolder,//MSDN上搜索CSIDL,可以知道常用的特殊路径的宏定义 5 BOOL fCreate//如果为true,表
2013-11-18 20:25:34 1469
原创 CString的成员函数详解
typedef ATL::CStringT > CString;CString的构造函数:1 CString( );2 CString( const CString& stringSrc );3 CString( TCHAR ch, int nRepeat = 1 );4 CString( LPCTSTR lpch, int nLength );5 CString( const unsig
2013-11-18 20:25:31 801
计算机基础
2011-10-12
.net reflector
2011-10-12
asp.net动软代码生成器2.76
2011-09-08
gdal-1.7.3.zip
2020-01-13
Qt ribbon菜单
2019-02-23
简单播放器
2012-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人