- 博客(25)
- 收藏
- 关注
原创 文件流操作
输入文件定位:seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:ios::beg:表示输入流的开始位置 定位到文件的开头使用seekg(0,ios::beg);ios::cur:表示输入流的当前位置ios::end:表示输入流的结束位置tell
2013-08-29 09:44:57 737
原创 Windows线程库
Win32 API 是Windows操作系统为内核以及应用程序之间提供的接口,将内核提供的功能进行函数封装,应用程序通过调用相关的函数获得相应的系统功能。MFC 是微软基础函数类库,由微软提供的,用类库的方式将Win32 API进行封装,以类的方式开发者。HANDLE 句柄是一种指向指针的指针。指针是一种内存地址,应用程序启动后,组成这个程序的各对象是驻留在内存的
2013-08-28 22:52:14 1395
原创 判断一个线程是否执行结束以及获取线程退出码
HANDLE g_hThread = NULL; DWORD dw = WaitForSingleObject(g_hThread, 0); if(dw == WAIT_TIMEOUT) //线程正在运行{ TerminateThread(g_hThread, dwExitCode); //不建议强制结束 if(g_hThread !=
2013-08-28 15:17:33 12549
转载 第17章,进程间通信之剪贴板
进程间通信 - 剪贴板实现引子由于在启动一个进程后,操作系统会给这个进程分配 4GB 的私有地址空间,至于为何有 4GB 这么大,那得考虑进程的私有地址空间和实际物理内存地址空间之间的映射以及页交换等等细节问题了,这里不予讨论,从名字就可以知道,既然操作系统给每一个进程分配的是私有地址空间,自然,这段地址空间也只有这个进程自己才能访问了,不然还称为私有干吗呢?既然这段私有地
2013-08-26 14:49:10 744
转载 CreateProcess
CreateProcessWIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。目录函数原型参数返回值举例说明展开编辑本段函数原型 BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCom
2013-08-26 00:11:35 1545 1
转载 GlobalAlloc函数和new()的区别
1. GlobalAlloc函数和new()的区别。 1>new是标准的C++分配内存函数。GlobalAlloc是WIN下的API函数。 2>new分配内存同时会调用类等对象的构造函数。GlobalAlloc不回。 3>new分配的内存只能同进程使用,如(A进程new,B进程不能delete),GlobalAlloc能多进程使用,并删除。 2. Globa
2013-08-25 20:45:50 487
原创 第17章,进程间通信
当一个进程启动后,操作系统为其分配了4GB的私有地址空间,位于同一个进程中的多个线程共享一个地址空间,因此线程之间的通信非常简单。然而,由于每个进程锁拥有的4GB地址空间都是私有的,一个进程不能访问另一个进程地址空间中的数据。 进程通信的四种方式:剪贴板、匿名管道、命令通道和邮槽。剪贴板: 例如,在word文档中复制一份数据后,可以在其他文件中粘贴,这
2013-08-24 18:02:08 791
原创 第三章,MFC框架程序剖析
单文档应用程序:CWinApp、CView、CWinFrame,CDocument。 CView是一个窗口类,CDocument不是一个窗口类,是一个文档类。 MFC提供了一种文档/视(Document/View)结构,其中文档就是指CDocument类,视就是CView类。考虑到要把数据本身和它的显示分离开,于是就采用文档类和视类结构来实现这
2013-08-24 16:06:54 611
转载 客户端 用不用 bind 的区别
客户端 用不用 bind 的区别2012-05-07 11:41:53分类: C/C++ 无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。 Bind()函数在成功被调用时返回0;出现错误时返回"-1"并将
2013-08-21 14:45:44 629
原创 基本数据结构和函数说明
WSADATA: 这个结构被用来存储被WSAStartup函数调用返回的Windows Sockets数据,包含Winsock.dll执行的数据和一些Sockets初始化信息。半相关: 是一个三元组(协议,本地网络地址,端口号);在全局中唯一地标示一个进程;SOCKET就是半相关描述; 全相关: 是一个五元组(协议,本地网络地址,本地端口号,远端网
2013-08-20 19:43:45 934
转载 兼容DC和兼容位图
CreateCompatibleBitmap 函数功能:该函数创建与指定的设备环境相关的设备兼容的位图。 通常情况下,如果是同一类设备,创建的DC的初始化环境是相同的,问题在于设备DC在变化,运行过程中一定会调整属性,如果再创建一个同类设备的DC,初始属性肯定不一样,不兼容的可能性是很大的,所以以某个运行时刻的DC为基准创建一个兼容DC,将复制当前时刻的DC属性,它的属性可以保证是相同的
2013-08-20 15:53:10 1872
原创 GDI图像处理
点的绘制:SetPixel,返回值就是设置颜色之前,点的颜色。获取指定点的颜色:GetPixel:获取点的颜色值。线的绘制:MoveToEx:设置线的绘制的起始点。LineTo:画线。两个函数联合使用,就画出了一条线。 绘制矩形:Rectangle,绘制矩形,必须要知道矩形边框的颜色,和矩形内部的填充色。绘制圆或椭圆:Ellipse。绘制饼:
2013-08-19 00:03:15 1094
转载 vs2010无可用源
解决:1、复制代码文件后老是去找原来文件路径的代码。2、无可用源第一方法:导致F11不能进入源代码,出现上述错误。在网上找到解决办法:工具->选项->调试->常规->去掉“要求源文件与原始版本完全匹配”复选框就OK。第二方法:全选CPP文件内容,选择 “编辑”-“高级”-“设置选定内容的格式”,保存,重新编译,OK搞定
2013-08-17 16:38:05 1354
原创 GDI+使用步骤
1,加入GDI头文件#include using namespace Gdiplus;2,GDI+资源的初始化和销毁//全局变量,表明对GDI+的一个引用UNLONG_PTR gdiplusToken;程序初始化函数中,加入如下代码GdiplusStartupInput gdiplusStartupInput;GdiplusStartup(&gd
2013-08-14 17:49:30 693
原创 定时器使用
DWORD WINAPI CheckSendInfoVector(LPVOID lpParameter){ SetTimer(NULL,100,TIMER_ELAPSE,(TIMERPROC)DoTimer); MSG msg; while(GetMessage(&msg,NULL,NULL,NULL)) { if(msg.messag
2013-08-14 14:17:35 1096
原创 GDI++第三章
LoadBitMap:函数的作用是从应用程序工程资源文件中加载位图。LoadBitmap不能加载文件,只能加载资源,如果用文件的话改用LoadImageLoadImage可以加载位图、图标、光标等多种图形数据。既可以从文件直接加载,也可以通过ID来加载。
2013-08-13 00:29:15 662
原创 生活小知识
1、大蒜是个宝,常吃身体好 2、一日两苹果,毛病绕道过 3、一日一枣,长生不老 4、核桃山中宝,补肾又健脑 5、铁不冶炼不成钢,人不养生不健康 二、1、胡萝卜,小人参;经常吃,长精神 2、西红柿,营养好,貌美年轻疾病少 3、小小黄瓜是个宝,减肥美容少不了 4、多吃芹菜不用问,降低血压很管用 5、大葱蘸酱,越吃越胖 三、1、夏天一碗绿豆汤,解毒去暑赛仙方
2013-08-10 14:40:10 992
转载 Dui学习笔记
duilib学习笔记2012年11月3日 — Asp J 原创文章,转载请注明:转载自Soul Apogee本文链接地址:duilib学习笔记前段时间对皮肤引擎比较感兴趣,于是在VS第一人称快的无法直视的dot大神推荐下,看了一个小巧又好用的皮肤引擎:duilib。1. duilib简介duilib是一个开源的DirectUI界面库,简洁但是功能强大。而且还是B
2013-08-05 10:23:09 1145
原创 Duilib中的控件消息
所有继承自CControl类的控件都有事件消息,都可以有DoEvent函数进行事件消息响应。其余的,可以自定义DoEvent事件,然后自己实现DoEvent函数进行响应。 TEventUI event; event.Type = UIEVENT_KEYDOWN; event.chKey = (TCHAR)wParam
2013-08-05 10:14:27 1545
转载 FTP文件传输格式
FTP可用多种格式传输文件,通常由系统决定。大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。 一般来说:如果你用错误的模式传输你的图片,你将无法看到图片,看到的会是乱码。如果你用错误
2013-08-05 09:35:41 5121
原创 GDI
设备环境DC(也称为设备上下文,和设备描述表),它时一个关于如何绘制图形的方法的集合,它即可以绘制各种图形,也可以确定在应用窗口中绘制图形的方式,也就是绘图模式和映射模式。在Win32编程中,设备环境是用HDC来标识。获得相应窗口的HDC:GetDC和ReleaseDC;BeginPaint和EndPaint;创建兼容内存DC,CreateCompatibleDC和DeleteDC。Get
2013-08-04 23:21:53 845
转载 Duilib中CEventSource及CDelegate(事件委托)的简单分析
Duilib中CEventSource及CDelegate(事件委托)的简单分析分类: Duilib界面库 2013-04-16 18:24 167人阅读 评论(0)收藏 举报Duilib界面库1、CDelegate类:成员主要包含:函数的指针、函数所属对象的指针、invoke函数和其他方便使用的重载操作符;其实就是保存了一个对象指针和它的一个成员函数的指针
2013-08-02 17:42:27 1624 1
转载 Duilib技巧:背景图片平铺
Duilib技巧:背景图片平铺贴图的描述方式有两种,其实看 // 1、aaa.jpg // 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' // mask='#FF0000' fade='255' hole='false' xtil
2013-08-02 17:32:14 1904
原创 GDI++:第二章
http://school.itzcn.com/video-vid-4121-spid-62.htmlGDI+和GDI的区别是:GDI+用一个无状态模型取代了GDI中把选中项目放到设备环境(DC)对象上的状态模型,在GDI+中的每一步绘图操作都是独立的,图形对象是绘图操作中唯一保留的对象。GDI+内容的组成:1,二维几何图形的处理: 矢量图形由图元(如直线,曲线和轮廓
2013-08-02 17:17:48 738
空空如也
glTexImage2D接口耗时问题
2023-12-25
片段写入多个附件问题
2022-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人