
C/C++
文章平均质量分 73
明卿
黑夜给了我一双明亮的眼睛,我却用它去寻找光明!
展开
-
Visual Studio开源库集成器Vcpkg全教程--利用Vcpkg轻松集成开源第三方库
利用Vcpkg轻松集成开源第三方库1. 为什么要用Vcpkg 1.1. 传统使用开源库的方法 1.1.1. 编译工具1.1.2. 编译类型1.1.3. 工程目录设定1.2. Vcpkg的优点2. 获取Vcpkg 2.1. 下载Vcpkg2.2. 编译Vcpkg3. 使用Vcpkg 3.1. 查看Vcpkg支持的开源库列表3.2. 安装一个开源库3.3. 指定编译某种架...转载 2020-03-26 14:23:31 · 1603 阅读 · 1 评论 -
MFC编程实例:进度条的使用
(1) 创建一个基于对话框的应用程序。(2) 在对话框界面添加一个文本框、一个进度条控件(Progress控件)和一个按钮。(3) 为Progress控件添加一个变量m_ctrlProgress,文本框添加一个变量m_strText。(4) 在初始化函数中添加如下代码BOOL CBbbDlg::OnInitDialog(){ CDialog::On...转载 2013-04-23 00:02:47 · 2490 阅读 · 6 评论 -
保护程序猿滴眼睛---修改VS 2012 编辑器颜色
1. 工具-----选项-----字体和颜色字体,发现好多人选用 Consolas 。。。确实挺好看的。然后 修改背景色:其中自定义的颜色如下所示:这样之后,看到的 vs2012改变背景颜色之后 字符串 等的 背景色是 白色的,一块一块的很丑,还需要再设置 字符串的背景颜色:最后效果转载 2013-05-25 13:33:18 · 2740 阅读 · 0 评论 -
vs2012换肤功能,vs2012主题及自定义主题
vs2012 默认的主题只有浅色和深色两种,深色太黑了,浅色又太亮了!怎么办?研究不少时间终于找到了怎么编辑vs2012的皮肤现在开始吧打开vs2012-工具--扩展和更新在联机中搜索 Theme Editer 下载,安装,然后重新启动vs2012到了这里,我看到有些人的帖子是在菜单栏中会出现一个新菜单Theme,转载 2013-05-25 13:21:11 · 1172 阅读 · 0 评论 -
指针
第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)int **ptr;转载 2013-07-30 23:54:35 · 610 阅读 · 0 评论 -
如何理解c和c++的复杂类型声明
从一个非常简单的例子开始,如下:int n;这个应该被理解为“declare n as an int”(n是一个int型的变量)。接下去来看一下指针变量,如下: int *p;这个应该被理解为“declare p as an int *”(p是一个int *型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针转载 2013-07-30 23:56:26 · 759 阅读 · 0 评论 -
VC2010中 调用DLL的方法
调用DLL有两种方法:静态调用和动态调用.(一).静态调用其步骤如下:1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下;2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下;3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需调用youApp.DLL的工程)目录转载 2013-07-28 01:31:07 · 2591 阅读 · 0 评论 -
炫彩界面库v1.4.2-360安全卫士v8.5-UI设计器使用教程
炫彩界面库-UI设计器使用教程,该教程以360安全卫士为例.先上一张最终程序截图文件相对路径 -说明文件的相对路径为UI设计器的路径;例如在UI设计器目录中有个UI项目文件夹[MyProject], 在项目文件夹中有个图片文件夹[image],在图片文件夹中有个按钮图片[button.png],那么图片的相对路径为:MyProject\image\button.pn转载 2013-08-10 23:46:47 · 1457 阅读 · 0 评论 -
VS2013(预览版) 和VS2012 旗舰版及帮助(MSDN离线版)文档官网下载
Microsoft Visual Studio Ultimate 2012Microsoft Visual Studio 2012 文档(MSDN离线版)原创 2013-05-25 01:28:14 · 7710 阅读 · 2 评论 -
DLL编写教程
半年不能上网,最近网络终于通了,终于可以更新博客了,写点什么呢?决定最近写一个编程技术系列,其内容是一些通用的编程技术。例如DLL,COM,Socket,多线程等等。这些技术的特点就是使用广泛,但是误解很多;网上教程很多,但是几乎没有什么优质良品。我以近几个月来的编程经验发现,很有必要好好的总结一下这些编程技术了。一来对自己是总结提高,二来可以方便光顾我博客的朋友。好了,废话少说,言归正传。第转载 2014-01-04 20:01:54 · 747 阅读 · 0 评论 -
MFC界面控件自动缩放
/*重写Onsize*/void CVehiclesim::OnSize(UINT nType, int cx, int cy){ CDialog::OnSize(nType, cx, cy);//注意这里的范围 if (cx <= 1 || cy <= 1 ) return; #ifdef _WIN32_WCE m_Grid.Move转载 2014-09-20 20:07:28 · 1791 阅读 · 0 评论 -
函数指针和回调函数
1.函数指针函数指针是一个指针,只是这个指针它不像普通的指针指向是是一个变量,此时它指向的是一个函数,也就是它存储的是一个函数的地址,如果我们改变它的值,让它所指向的地址由指向funA转变为指向funB,那么这个函数指针的作用就改变了。2.回调函数什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传转载 2014-09-21 16:36:31 · 538 阅读 · 0 评论 -
深入浅出MFC文档/视图架构之实例剖析
为了能够把我们所学的所有知识都在实例中得以完整的体现,我们来写一个尽可能复杂的"文档/视图"架构MFC程序,这个程序复杂到: (1)是一个多文档/视图架构MFC程序; (2)支持多种文件格式(假设支持扩展名为BMP的位图和TXT的文本文件); (3)一个文档(BMP格式)对应多个不同类型的视图(图形和二进制数据)。 相信上述程序已经是一个包含"最复杂"特性的转载 2014-08-16 01:30:49 · 908 阅读 · 0 评论 -
VC控件----如何根据句柄判断其类型
hWnd=GetWindow(hDlg,GW_CHILD);if(hWnd == NULL || !::IsWindow(hWnd))return FALSE;nIdFirst=GetDlgCtrlID(hWnd);do{GetClassName(hWnd,szBuf,256);//Edit子类化if( _tcsicmp(szBuf,_T( "Edit转载 2014-09-23 20:05:42 · 2508 阅读 · 0 评论 -
MFC界面等比例缩放功能
放大后效果原创 2014-09-14 21:54:32 · 4590 阅读 · 1 评论 -
改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。一、 实现过程1.表头修改新建一个MFC类CHeaderCtrlCl,其基类转载 2014-09-24 23:50:28 · 1931 阅读 · 0 评论 -
解决CListCtrl闪烁及水平滚动条不能跟踪拖动的问题(MFC)
项目中用到一个界面如下图所示,在View上有个CPropertySheet,其上有几个CPropertyPage,每个属性页上有个CListCtrl,供用户查看信息。由于CListCtrl中的信息每隔200ms就要刷新一次,导致这个区域不停的闪烁。同时,由于空间不够,CListCtrl上有个水平滚动条,当我们想拉动滚动条到中间位置查看后面几列数据时,刚拉过去就由于刷新又被拉回起点,导致很难查看后面转载 2014-09-16 23:39:46 · 1499 阅读 · 0 评论 -
CListCtrl控件使用方法总结
CListCtrl控件使用方法总结今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格转载 2014-09-16 23:54:52 · 598 阅读 · 0 评论 -
防止CListCtrl闪烁的几种方法
1.使用SetRedraw禁止窗口重绘,操作完成后,再恢复窗口重绘m_ctlList.SetRedraw(FALSE); //以下为更新数据操作//……//恢复窗口重绘m_ctlList.SetRedraw(TRUE);2.使用LockWindowUpdate禁止窗口重绘,操作完成后,用UnlockWindowUpdate恢复窗口重绘m_ctlList.LockWind转载 2014-09-16 23:30:53 · 764 阅读 · 0 评论 -
常见MFC UI界面库
Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的。The Ultimate Toolbox http://www.codeproject.com/KB/MFC/UltimateTool转载 2014-10-06 00:14:32 · 1120 阅读 · 0 评论 -
“浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; };转载 2014-11-09 14:23:59 · 448 阅读 · 0 评论 -
解决VS2010中注释乱码的问题
解决VS中注释乱码的问题使用VS编写程序,经常会有中文注释,拿到另外一些系统上却发现注释变成了乱码,这一般是由于编码格式不当造成的,下面给出解决方案1. 首先打开VS2008,选择Tools-Option-Text Editor-Settings,将Auto detect UTF-8 encoding without signature 勾上,如果问题解决,OK2. 如果问题没有解转载 2014-10-26 21:26:01 · 10693 阅读 · 0 评论 -
vs2010中的MSBuild输出warning MSB8012问题
vs2010中,MSBuild与C++编译器无缝整合.无论使用vs2010生成的代码,还是转换vs2008或者是更低版本vs编译的C++代码.都会在工程编译后,都会提示一条错误:C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(935,5): warning MSB8012: TargetPath(c:转载 2014-10-26 22:36:53 · 1310 阅读 · 0 评论 -
BCGPControls界面库中添加CBCGPTabWnd控件方法。
1、声明一个CBCGPTabWnd m_tab; 类2、在创建的dialog原创 2014-10-28 23:44:38 · 3137 阅读 · 0 评论 -
使用Def文件导出Dll文件
本文介绍如何使用Def文件制作DLL。 模块定义 (.def) 文件是包含一个或多个描述 DLL 各种属性的 Module 语句的文本文件。如果不使用 __declspec(dllexport) 关键字导出 DLL 的函数,则 DLL 需要 .def 文件。.def 文件必须至少包含下列模块定义语句:文件中的第一个语句必须是 LIBRARY 语句。此语句将 .def转载 2014-11-15 01:14:46 · 814 阅读 · 0 评论 -
extern "C"以及__declspec(dllexport) 讲解和def文件dll导出方法
一,__ declspec(dllexport):将一个函数声名为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。通常它和extern“C”合用,形式如下:extern "C"{ __declspec(dllexport) void FUNCTION() { } } 这是由于在制作DLL导出函数时由于C ++存在函数重载,因此_...转载 2014-11-15 01:24:13 · 23454 阅读 · 4 评论 -
GDI泄露检测
发现dc是通过CreateCompatibleDC函数创建的,但是释放时用了releaseDC,这是不对的, 对于CreateCompatibleDC申请的DC,应该用deletedc释放,而getDC取得的DC资源,用releaseDC释放,不对应的话就会造成GDI泄露。转载 2014-10-29 13:15:26 · 1164 阅读 · 0 评论 -
理解一般指针和指向指针的指针
在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例:1. 指向整型指针先看如下示例:转载 2014-11-18 00:31:38 · 472 阅读 · 0 评论 -
Git使用教程,最详细,最傻瓜,最浅显,真正手把手教
预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料)一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程:Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,...转载 2014-12-23 00:02:53 · 1228 阅读 · 0 评论 -
12306改版之后简单抢票软件的实现(二)完结
上一篇文章讲完了12306网站模拟登陆的部分,看这里 12306改版之后简单抢票软件的实现 现在把后面的步骤全部分析一下。 登录完成要选择买票人的信息,那么怎么获得账户中常用联系人的信息呢?访问这个地址:https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs访问这个页面需要两个参数(@code_flyer提醒这转载 2015-01-31 20:25:49 · 3461 阅读 · 0 评论 -
12306改版之后简单抢票软件的实现
又到一年抢票时,各种抢票软件的肆虐让12306不堪重负,最近这几天12306频繁的更换手段来阻止抢票软件。 先来吐槽一下红红的验证码,过年的时候都喜欢用红色来喜庆一下,12306也深刻的表达了他的喜悦之情,又红又大的验证码啊,不过到底跨越了几个维度呢?看起来晕晕的,感觉像在时空里穿梭。 科学告诉我们,牛是色盲,分不出来颜色,但是伟大的黄牛们不是,不知道黄牛们看到鲜红的验证码之后会不会疯了转载 2015-01-31 20:21:09 · 2927 阅读 · 1 评论 -
使用WinINet和WinHTTP实现Http访问
Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value1与value2,并从服务器得到他们的和(value1 + value2)。为实现Http访问,微软提供了二套API:WinINet, WinHTTP。WinHTTP比WinINet更加安全和健壮,可以这么认为WinHTTP是WinINet的升转载 2015-02-01 03:28:48 · 1079 阅读 · 0 评论 -
cURL的错误代码
CURLE_OK(0)所有罚款。继续像往常一样。CURLE_UNSUPPORTED_PROTOCOL(1)你的URL传递给libcurl的使用协议,这libcurl的不支持。支持可能是你没有使用一个编译时的选项,它可以是一个拼写错的协议字符串,或者只是一个协议的libcurl没有代码。CURLE_FAILED_INIT(2)非常早期的初始化代码失转载 2015-02-03 01:03:23 · 879 阅读 · 0 评论 -
最全的libcurl库资源整理
最近在学习libcurl,顺便将搜集的相关资源整理下,方便各位朋友。C++ 用libcurl库进行http 网络通讯编程百度登陆协议分析!!!用libcurl来模拟百度登陆C++使用libcurl做HttpClient使用libcurl库进行HTTP的下载libcurl部分总结 libcurl学习笔记(一)Curl Passing data to a simple fu转载 2015-02-01 23:43:15 · 548 阅读 · 0 评论 -
VC提交网页表单-自动评论留言(2)
前面分析完毕了,现在就开始写代码吧: 网上用SOCKET、CHttpFile类等编写VC向网页POST表单的代码多如牛毛,但大多都是大家转来转去的,也没有去实践一下,到头来只会误导初学者,这里是我从头到尾的笔记,希望给友友们帮助,以免走不必要的弯路...... (本文代码中的真实网页地址已用星号或马赛克隐藏,以避免不法份子用来恶意使用!本程序仅供学习交流,对于该站站长我深标歉转载 2015-02-01 19:17:35 · 676 阅读 · 0 评论 -
VC提交网页表单-自动评论留言(1)
前段时间,仔细看了一个HTTP协议于是就写了这样一个自动评论的测试程序,下面是我本次学习实验的学习笔记: 一、准备工作: 1、本机环境:Windows XP SP3、ADSL 10M光纤 2、开发工具:WildPackets OmniPeek V5.1.4 Visual C++ 6.0转载 2015-02-01 19:15:40 · 687 阅读 · 0 评论 -
C++ 用libcurl库进行http通讯网络编程
目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的ht转载 2015-02-01 21:24:06 · 843 阅读 · 0 评论 -
libcurl模拟hi百度登陆
题外话: 话说某大型论坛,每天都有不少网友瞄准00.00发表文章,争取拿到当天第一签。某牛某天兴致大发,在Linux下,利用crond定时在00:00运行一个shell脚本程序来发表文章,于是日日得到第一签,引来不少网友羡慕。不必羡慕,看完这篇文章,稍加揣摩,查查资料,你也可以做到了。一、curl与libcurl介绍 网上关于curl介绍转载 2015-02-02 22:46:44 · 788 阅读 · 0 评论 -
curl_easy_setopt参数详细介绍!
CURLOPT_HEADER:设为1,则在返回的内容里包含http header;CURLOPT_FOLLOWLOCATION:设为0,则不会自动301,302跳转;*CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。*CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。*C转载 2015-02-04 21:33:22 · 991 阅读 · 0 评论 -
UTF8<->ANSI转换函数
void CcurLibTestDlg::Convert(const char* strIn,char* strOut, int sourceCodepage, int targetCodepage) { int len=lstrlen(strIn); int unicodeLen=MultiByteToWideChar(sourceCodepage,0,strIn,-1,NULL转载 2015-02-06 02:56:14 · 613 阅读 · 0 评论