自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

转载 用CInternetSession实现HTTP POST登录

最近,在编码时发现,原来使用第三方类库实现的HTTP登录验证对Session的处理不是很理想,于是在网上搜集了一些资料,尝试用CInternetSession实现HTTP POST登录验证,代码如下:         CString   strResultStr;        CInternetSession   session;          CHttpConnec

2016-04-30 23:42:15 3584

转载 MFC 浏览器 去除滚动条

http://www.cnblogs.com/emyueguang/archive/2011/05/25/2056503.html

2016-04-29 18:06:10 464

转载 MFC之HTTP post请求

一、建立会话(Session)对象:     CInternetSession mysession;二、连接到Http服务器:      CHttpConnection *myconn=mysession.GetHttpConnection("www.baidu.com");三、打开Http请求:      CHttpFile *myfile=myconn-

2016-04-29 14:53:36 4531

转载 MFC Http Post请求步骤

https://msdn.microsoft.com/en-us/library/8yh4zs9e(v=vs.100).aspx

2016-04-29 14:42:52 1676

转载 标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样

你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样?Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36Mozilla/5.0 (Linux; U; Android 4.1.2; zh-tw;

2016-04-29 14:24:33 1152

转载 TCP HTTP UDP

TCP   HTTP   UDP:   都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。   TCP   HTTP   UDP三者的关系:   TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议

2016-04-29 13:51:44 363

转载 解决:IE8.0浏览器的User-Agent显示MSIE7.0

今天意外发现ewebeditor以前做好的ie6、ie7、ie8兼容今天不能用了,研究了半天,无奈,我用的是IE8,写句alert(navigator.appVersion)发现得到的结果竟然显示的是MSIE7.0,这是为什么呢?不是应该是MSIE8.0吗?看来不兼容的问题就出现在这了!下面一一介绍方法!首先说下出现这种现象的原因!微软的新版浏览器Internet Expl

2016-04-29 11:59:37 9864

转载 MFC使用HttpGet和HttpPost方法与服务器通信

处理过程封装到CHttpClient类中,同时支持http和httpsHttpClient.h[cpp] view plain copy //////////////////////////////////// HttpClient.h  #ifndef HTTPCLIENT_H  #define HTTPCLIE

2016-04-29 11:40:18 2435

转载 利用WebBrowser控件实现百度自动搜索

更多精彩内容,请见:http://www.16boke.com(1)新建一个MFC对话框项目(2)对话框中添加WebBrower控件,添加方法:点击菜单栏工具->选择工具箱项->在弹出的选择工具箱项对话框选择COM组件->Microsoft Web Browser->确定,添加到对话框中即可。(3)添加类CWebBrowser2的

2016-04-27 23:03:36 1080

转载 USES_CONVERSION的使用和注意

USES_CONVERSION是用来转换类型的,比如我们很常见的问题:    在Socket编程时候,我们的IP地址从界面上输进去一般都使用CString类型的,可是在SOCKADDR_IN中的inet_addr却是const char *我们就不能直接用CString来用。我们就可以使用T2A()宏了。    SOCKADDR_IN localaddr;       CS

2016-04-27 15:48:55 5100

转载 VC++ 编程实现开机自启动

编写局域网监控系统时,需要使客户端程序开机自启动,按下面步骤编程实现:1.在主对话框类中添加成员函数,写注册表,设置开机自启动[cpp] view plain copy print?void CClientDlg::SetAutoRun(BOOL bAutoRun)  {      HKEY hKey;      CStr

2016-04-25 13:26:01 417

转载 ::GetModuleFileName函数的一个妙用

朱金灿        Windows API函数::GetModuleFileName的主要作用是获取当前应用程序的路径,其用法大致如下:extern CWinApp theApp;char szAppName[MAX_PATH];:: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH);

2016-04-25 12:04:51 1729

转载 ModifyStyle函数的用法

1.作用:Call this member function to modify a window's style.2.函数原型:BOOL ModifyStyle(  DWORD dwRemove,  DWORD dwAdd,  UINT   nFlags);3.参数含义:dwRemove指定要删除的扩展属性,dwAd

2016-04-24 00:48:42 5430

转载 【C++】JSON文件的读取和生成

一、从字符串中读取JSONa.cpp?12345678910111213141516171819202122232425262728

2016-04-23 00:33:41 6782

转载 ofstream和ifstream详细用法

ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(2、析取器(>>)  从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示

2016-04-22 17:30:57 6188

转载 MFC中Spin control的使用

1、绑定spin和editm_Spin.SetBuddy(GetDlgItem(m_Edit1)); m_Spin.SetRange(0,100);2、实现数值的增减双击控件添加消息void CAlarm::OnDeltaposSpin5(NMHDR *pNMHDR, LRESULT *pResult){LPNMUPDOWN pNMUpDown = re

2016-04-22 09:24:40 2051

转载 VC/MFC 定时器设置及OnTimer使用

OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现:SetTimer, KillTimer()和OnTimer().粗略的说,Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。或者说Settimer是设置定时器的,Ontimer是响应Settimer消

2016-04-21 16:44:37 6279

转载 C++编写DLL的方法

在写C++程序时,时常需要将一个class写成DLL,供客户端程序调用。这样的DLL可以导出整个class,也可以导出这个class的某个方法。一、导出整个class方法很简单,只需要在类的头文件中class和类名之间加上_declspec(dllexport),同时在另外一份提供给客户端调用程序使用的类的头文件中class和类名之间加上_declspec(dllimport)。为

2016-04-20 13:22:53 389

转载 DeviceIOControl详解-各个击破

DeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信(读写数据)等,对照msdn,下面我们详细解释一下这个api的用法(有什么错误再所难免,各位不吝指教啊)。DeviceIoControl是用来控制我们指定设备的输入输出操作,使设备按照我们发的指令去工作。DeviceIoControl是kernel32

2016-04-19 13:13:50 478

转载 c++获取网卡MAC地址

一台机器上可能有多个网卡,每一个网卡只有一个MAC地址,但是每一个网卡可能配置有多个IP地址;如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种;因此,如果要获得本机所有网卡的IP和MAC地址信息,则必须顺序获得每个网卡,再依次获取其信息等;在windows sdk中,用IP_ADAPTER_INFO结构体存储网卡信息,包括网卡名、网卡描述、网卡MAC地址、网卡IP等,该结构体的主要描

2016-04-19 10:57:06 2887

转载 HANDLE,HMODULE,HINSTANCE,HWND概念

HINSTANCE的本质是模块基地址,他仅仅在同一进程中才有意义,跨进程的HINSTANCE是没有意义的你把HINSTANCE的值打印出来看看就知道了HINSTANCE和HWND是没有关系的HWND是线程相关的,你可以通过HWND找到该窗口所属进程和线程Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。HMODULE 是代表应用程序载入的模块,win3

2016-04-18 22:45:00 1012

转载 实战DeviceIoControl 之四:获取硬盘的详细信息

本文转载自http://www.cnblogs.com/lzjsky/archive/2011/01/30/1947869.htmlQ 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有什么办法呀?A 确实,用你所说的I/O控

2016-04-18 22:13:05 2176

转载 VS获取工程版本信息,AxtiveX或者OCX的版本取得

VS获取工程版本信息貌似用以下2个方法可以取得当前工程的版本信息1.代码如下所示:#pragma   comment(lib, "Version.lib ") TCHAR   szFullPath[MAX_PATH];   DWORD   dwVerInfoSize   =   0;   DWORD   dwVerHnd;   VS_FIXEDFILEI

2016-04-18 17:42:46 1056

转载 GlobalAlloc、GlobalLock和GlobalUnLock详解

调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。  GlobalAlloc申请的内存分两种,一种是GMEM_FIXED,另一种是GMEM_MOVEABLE。两者的差别只要在于GMEM_MOVEABLE类型的内存操作系统是可以移动的,比如堆中有好几块小内存,当再申请一大块内存时,操作系统会移动GMEM_MOVEABLE类型的内存来合并出一大块。正因为GMEM_MOVEABLE

2016-04-18 16:01:32 1070

转载 mfc获取自身版本号

1、引入lib#pragma comment(lib, "Version.lib ")2、增加如下代码 char cPath[200],szVersionBuffer[200]; DWORD dwHandle,InfoSize; CString strVersion; ::GetModuleFileName(NULL,cPath,sizeof(cPath));

2016-04-18 15:35:43 2843

转载 vc获取程序本身的版本号

void CVersionInfoDlg::OnOK() [喝小酒的网摘]http://blog.hehehehehe.cn/a/1666.htm{    // TODO: Add extra validation here        //CDialog::OnOK();    GetApplicationVersion();}void CVersionInfo

2016-04-18 15:28:27 3972

转载 Windows DLL编程中的导入导出:__declspec(dllimport) ,__declspec(dllexport) ,

在Windows DLL编程时,可使用__declspec(dllimport)关键字导入函数或者变量。 函数的导入     当你需要使用DLL中的函数时,往往不需要显示地导入函数,编译器可自动完成。但如果你显示地导入函数,编译器会产生质量更好的代码。由于编译器确切地知道了一个函数是否在一个DLL中,它就可以产生更好的代码,不再需要间接的调用转接。 

2016-04-15 11:10:59 814

转载 VC++如何将程序最小化到托盘

VC++如何将程序最小化到托盘2011-04-13 11:11 中国IT实验室收集整理 中国IT实验室 字号:T | TWindows操作系统中的某些程序运行时不显示运行窗口,只在任务栏上显示一个图标,表示程序正在运行,用户可以通过鼠标与应用程序交互。为了实现这种功能,托盘程序就出现了。本文主要介绍,托盘编程的相关函数和一些例子。AD:网+线下沙龙 | 移动

2016-04-15 09:54:11 719

转载 键盘虚拟码

0x1 鼠标左键 0x2 鼠标右键 0x3 CANCEL 键 0x4 鼠标中键 0x8 BACKSPACE 键 0x9 TAB 键 0xC CLEAR 键 0xD ENTER 键 0x10 SHIFT 键 0x11 CTRL 键 0x12 MENU 键 0x13 PAUSE 键 0x14 CAPS LOCK 键 0x1B ESC 键 0x20

2016-04-14 11:01:37 741

转载 -stdcall详解

对_stdcall 的理解      在C语言中,假设我们有这样的一个函数:int function(int a,int b)      调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。

2016-04-13 17:03:12 705

转载 dumpbin(vs自带)

1. 导出lib文件的函数符号(symbols)dumpbin /exports zlib1.lib[plain] view plain copy Microsoft (R) COFF/PE Dumper Version 10.00.40219.01  Copyright (C) Microsoft Corporation.  A

2016-04-13 16:18:33 963

原创 图像列表控件

1 创建CImageList m_ImageList;m_ImageList.Create(32,32,ILC_COLOR32|ILC_MASK,1,1);2.添加图像m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));或者m_ImageList.Add(::AfxGetApp

2016-04-13 11:46:54 578

转载 如何实现掩码位图的透明显示

本文转载自:http://www.cnblogs.com/lzmfywz/archive/2012/06/29/2569975.html位图的透明显示一般有两种机制,即透明色机制和掩码位图机制。透明色机制是把位图中的某种颜色设为透明,掩码位图机制是利用一个掩码位图来确定要透明的部分。本文只介绍掩码位图机制。首先来看一个函数:void DrawMaskBmp(CDC *pDC

2016-04-13 11:32:51 3327

转载 GetWindowRect和GetClientRect的区别详解

http://www.cnblogs.com/wb-DarkHorse/archive/2013/07/08/3178201.html

2016-04-12 11:14:56 732

转载 FillRect与FrameRect

FillRect  函数功能:该函数用指定的画刷填充矩形,此函数包括矩形的左上边界,但不包括矩形的右下边界。  函数原型:int FillRect(HDC hdc, CONST RECT *lprc, HBRUSH hbr);  参数:  hdc:设备环境句柄。  lprc:指向含有将填充矩形的逻辑坐标的RECT结构的指针。  hbr:用来填充矩形的画刷的句柄。  返回

2016-04-12 10:45:28 785

转载 内存错误 未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突

其他:内存错误 未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突关于0xC0000005问题:0xC0000005: Access Violation错误调试- -1》数据越界或是定义的指针未释放.2》空的指针的可能性最大。使用指针前最好能显式的赋值! 应该是指针的问题3》内存访问错误,检查指针,是否为空,是

2016-04-11 18:10:34 5326

转载 WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息

WM_KEYDOWN和WM_CHAR都是键盘消息。TranslateMessage函数已经将按键消息转换成字符消息了,那么WndProc函数中需要对事件进行选择。如:键入“D”键,就应该选择WM_CHAR,因为WM_CHAR 只是字母,不包含特殊字符如Ctrl等。如果键盘键入的是“Ctrl+D”,则应该选择WM_KEYDOWN,因为WM_KEYDOWN既包含字母也包含特殊字符。

2016-04-11 14:04:48 4721

转载 MFC CTabCtrl焦点转移PreTranslateMessage实现方法

本文转载自:lymcn专栏http://blog.csdn.net/lymcn/article/details/6992926这两天受到MFC的CTabCtrl的折磨,焦点在主窗口与子界面太难实现切换了,经理一天的努力,查阅了大量资料还是不能简单实现,最后还是只能通过重写PreTranslateMessage。见下面代码:重载CDialog类:[cpp] v

2016-04-11 11:43:52 770

转载 TCP连接探测中的Keepalive 和心跳包

采用TCP连接的C/S模式软件,连接的双方在连接空闲状态时,如果任意一方意外崩溃、当机、网线断开或路由器故障,另一方无法得知TCP连接已经失效,除非继续在此连接上发送数据导致错误返回。很多时候,这不是我们需要的。我们希望服务器端和客户端都能及时有效地检测到连接失效,然后优雅地完成一些清理工作并把错误报告给用户。如何及时有效地检测到一方的非正常断开,一直有两种技术可以运用。一种是由TCP协议

2016-04-10 09:16:39 387

转载 Socket心跳包机制

心跳包的发送,通常有两种技术方法1:应用层自己实现的心跳包 由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的数据包,然后启动一个低级别的线程,在该线程中不断检测客户端的回应, 如果在一定时间内没有收到客户端的回应,即认为客户端已经掉线;同样,如果客户端在一定时间内没 有收到服务器的心跳包,则认为连接不可用。方法

2016-04-10 08:36:12 1445

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除