C/C++
李元静
专注移动开发10年,对Android、鸿蒙、Python以及Flutter均有涉猎。最近更新Python爬虫与鸿蒙专栏,著有《Flutter App开发从入门到实战》一书,感兴趣的读者加微极客学编程,实时掌握博主的更新动态。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windows下的剪切板编程详解
说道剪切板大家都不陌生吧 ,右键粘贴 都用过。其实编程也很简单,但是在进程之间的通信 却有着不可替代的作用 ,剪切板说白了就是一个缓冲区 ,但是这个缓冲区不是某个进程的私有空间,而被全部进程所共享。windows下的每个进程都可以共享剪切板中的数据 。其实我以前也学过剪切板编程但是一直没有真正理解,于是又学习了一遍。终于明白了。。。写下来分享下。。。。要使用剪切板就要了解剪切板的几个函数 ?转载 2012-09-12 21:01:35 · 2349 阅读 · 0 评论 -
世界坐标系空间,页面空间,设备空间,物理设备空间
一、坐标空间1、Win32应用程序设计接口(API)使用四种坐标空间:世界坐标系空间、页面空间、设备空间和物理设备空间。应用程序运用世界坐标系空间对图形输出进行旋转,斜切或者反射。2、Win32 API把世界坐标系空间和页面空间称为逻辑空间,最后一种坐标空间(即物理设备空间)通常指应用程序窗口的客户区。但是它也包括整个桌面、完整的窗口(包括框架、标题栏和菜单栏)或打印机的一页或绘图仪的一页转载 2012-09-06 17:34:08 · 2916 阅读 · 0 评论 -
文档与串行化
1.CArchive写入和读取文件void CGraphicView::OnFileWrite(){// TODO: Add your command handler code hereCFile file("1.txt",CFile::modeCreate | CFile::modeWrite);CArchive ar(&file,CArchive::store);int转载 2012-09-09 18:39:41 · 2053 阅读 · 0 评论 -
通过文件读取oep值
OEP是PE文件被加载时的起始地址,该值位于PE文件头的IMAGE_OPTIONAL_HEADER32结构体中。下面的代码很简单,首先用CreateFile读取PE文件,PE文件的起始位置是DOS部分,DOS部分又分为DOS MS文件头和DOS块,在DOS MS文件头中包含了PE文件头的起始地址,而DOS块中的数据没啥用,该块的大小为112字节,通常其内容为“This program ca转载 2012-08-21 17:53:52 · 1822 阅读 · 0 评论 -
CDC的文字处理程序的编写
掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。通过对卡拉OK程序的编写,讲解定时器的使用和DrawText函数的巧妙运用。讲解如何使用CDC的裁减功能。1,创建插入符:void CreateSolidCaret( int nWidth, int nHeight );//创建插入符void CreateCaret( CBitmap* pB原创 2012-08-28 23:07:50 · 2111 阅读 · 0 评论 -
通过内存映射读取OEP值
通过内存映射读取OEP值获得OEP值的另一种方法是通过内存映射来实现,此方法也需要熟悉PE的文件结构。与直接访问PE的方法不同,内存映射的方法首先把PE文件映射到计算机的内存,再通过内存的基指针获得IMAGE_DOS_HEADER的头指针,由此再获得IMAGE_ OPTIONAL_HEADER指针,这样就可以得到AddressOfEntryPoint的值。下面是通过内存映射获得OEP值的方法:转载 2012-08-21 17:45:28 · 1703 阅读 · 0 评论 -
匿名管道
管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。 匿名管道实施细则 匿名管道由Cre转载 2012-09-12 21:00:37 · 2294 阅读 · 0 评论 -
持久窗口与临时窗口
在MFC中,都是以C++对象来操作窗口而窗口是用句柄来标识的,这样就需要将窗口和C++对象关联起来通过C++对象的成员变量m_hWnd来建立这种联系如果一个窗口对象和一个窗口相关联了,那么我们要获取这个窗口对象(通常都是CWnd*形式),返回的就是一个持久的C++对象,如果你要获取一个窗口(不是通过MFC类库创建的)的C++对象,那么MFC就会为你临时创建一个C++对象,返回其指针转载 2012-09-04 20:10:47 · 2415 阅读 · 0 评论 -
VC,EVC视频上显示文字的方法
我要在wince5.0上全屏显示视频,并在视频上显示按钮和文本。通过网络得到了各种方法,总结一下:基于的是对话框,视频显示在对话框的DC上:生成一个兼容的mem DC,然后,生成一个位图bmp,将mem DC和bmp关联,摄像头数据刷到bmp上,然后用Bitblt从Mem DC上传到DC上。文字的显示方法:1.直接在对话框DC上输出文字,Textout或Drawtext(win转载 2012-09-02 22:51:34 · 2646 阅读 · 0 评论 -
DoDataExchange整理
CWnd::DoDataExchangevirtual void DoDataExchange( CDataExchange* pDX );参数: pDX 指向CDataExchange对象的指针。 框架调用这个函数以交换并校验对话框数据。永远不要直接调用这个函数。它是由UpdateData成员函数所调用的。可调用UpdateData函数以初始化对话框控件或从对话框获取数据转载 2012-08-29 21:25:25 · 2162 阅读 · 0 评论 -
多线程同步:互斥对象、事件对象、关键代码段
互斥对象、事件对象、关键代码段一、互斥对象和事件对象属于内核对象,利用内核对象进行线程同步,速度较慢,但可以实现在多个进程中各线程间进行同步。二、关键代码段式工作在用户方式下,同步速度较快,但在使用关键代码段时,很容易进入死锁状态,因为在进入关键代码时无法设定超时值。MFC下InitializeCriticalSection()和DeleteCriticalSection()可以放在类转载 2012-09-12 21:02:55 · 2490 阅读 · 0 评论 -
C++文件操作的5种方式
纯C语言读取文件方式写文件FILE *pFile;pFile=fopen("jingge.txt","w");fwrite("http://blog.sina.com.cn/liyuanjinglyj",1,strlen("http://blog.sina.com.cn/liyuanjinglyj")+1,pFile);fseek(pFile,0,SEEK_SET);fwr原创 2012-09-07 18:56:06 · 3999 阅读 · 0 评论 -
逃跑按钮的实现
基于对话框的应用程序和SDI应用程序之间的区别:基于对话框的应用程序没有从CView类派生出来的视类,也没用从CFrameWnd类派生出来的框架类,以及从CDocument类派生出来的文档类,它只用从CDialog类派生出来的对话框类,,这类应用程序的窗口就是一个对话框界面。只用三个类,CAboutDlg,用来显示一个对话框,CApp,代表应用程序本身,CDlg,基于对话框的MFC应用程序的主界面转载 2012-08-30 21:55:47 · 2270 阅读 · 0 评论 -
菜单
1、在菜单项前添加标记用到的函数 GetMenu() 作用 :获取菜单栏;GetSubMenu() 作用: 获取子菜单;CheckMenuItem()作用:菜单标记; 函数功能:该函数取得与指定菜单项相联系的菜单标志。如果该菜单项打开了一个子菜单,该函数也返回子菜单里的菜单项数。 函数原型:DWORD CheckMenuItem(HMENU hmenu, UINT uI转载 2012-08-27 20:48:30 · 1952 阅读 · 0 评论 -
命名管道和油槽
我们接着简绍2种进程间通信的方法:3.命名管道:命名管道可以再2个任意进程间通信(包括网络上的2个不同主机之上的进程) 他们建立了如客户机/服务器的连接创建命名通道的机器为服务器 连接命名通道的机器为客户机在命名管道的使用中 我们会使用事件对象来标识管道的连接和读写操作下面是要用到的函数:(有关详细简绍可以看msdn)这个函数用来创建一个命名管道 失败则返回INVALID_转载 2012-09-13 15:31:18 · 2543 阅读 · 0 评论 -
CWnd::OnContextMenu函数(右键单击弹出快捷菜单)
CWnd::OnContextMenuafx_msg void OnContextMenu( CWnd* pWnd, CPoint pos );参数说明pWndHandle to the window in which the user right clicked the mouse. This can be a child window of the window rec原创 2012-08-28 23:05:22 · 1929 阅读 · 0 评论
分享