Nice_hanyu

导航

2013年5月3日 #

CString转换成int CString类相应函数

摘要: CString转换成int CString类相应函数 CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi()。你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制、八进制、十进制或十六进制),不同点在于前者转化后的... 阅读全文

posted @ 2013-05-03 09:39 Nice_hanyu 阅读(319) 评论(0) 推荐(0)

2013年4月11日 #

MFC一些小经验

摘要: 2013.3.06在修改MFC菜单的时候,右键,然后在custom中的重置,可以实现File等菜单(Menu)的刷新功能。PS:在程序中修改IDR_MAINFRAME是不能自动重置更新的。。2013.3.7关于全局函数的定义:EX.GetStrFromST位置:VDManage.h/ VDManage.cppVDManage.hextern const CString GetStrFromST(__in UINT uID);//得到RC中的StringTable字符串?VDManage.cppconst CString GetStrFromST(__in UINT uID){ BOOL bNa 阅读全文

posted @ 2013-04-11 13:39 Nice_hanyu 阅读(159) 评论(0) 推荐(0)

2013年4月10日 #

MFC自定义消息

摘要: MFC自定义消息本文地址:http://blog.163.com/strive_only/blog/static/893801682010101911467765/消息机制是windows的典型运行机制,在MFC中有很多的消息如WM_BTN**等。但是在有些情况下我们需要自定义一些消息去做一些我们需要的功能,MFC的向导不能帮助我们做到这一点,我们可以通过添加相应的代码去完成这个功能。添加自定义消息操作如下: 1. 建立MFC工程,如基于对话框的应用程序,Test。 2. 在资源中添加要处理的消息的值,即在CTestDlg.h中添加 如下代码。 (因为很多MFC的消息是在WM_USER内的.. 阅读全文

posted @ 2013-04-10 00:12 Nice_hanyu 阅读(135) 评论(0) 推荐(0)

2013年4月9日 #

在类中编写线程和线程接口函数

摘要: 调用『DWORD dwThreadId;HANDLE hThread;hThread=CreateThread(NULL,NULL,DownDate,this,0,&dwThreadId); //this为本类』接口类:.h文件:static DWORD WINAPI DownDate(LPVOID lparam); //静态接口函数.cpp文件:『DWORD WINAPI CVDParameters::DownDate(LPVOID lparam) { CVDParameters* pPa = (CVDParameters*)lparam; if(pPa->nType == 1 阅读全文

posted @ 2013-04-09 00:21 Nice_hanyu 阅读(138) 评论(0) 推荐(0)

2013年4月8日 #

客户端select+recv+keepalive的联合使用。

摘要: 一 设置this->TcpSetKeepAlive(20);//20s测试时间『BOOL ××类::TcpSetKeepAlive(INT nKeepIdle) {//激活KEEPALIVEBOOL bKeepAlive = TRUE;int nRet = ::setsockopt(m_sockClient, SOL_SOCKET, SO_KEEPALIVE, (char*)&bKeepAlive, sizeof(bKeepAlive));if (nRet == SOCKET_ERROR){return FALSE;}//设置参数tcp_keepalive a 阅读全文

posted @ 2013-04-08 10:16 Nice_hanyu 阅读(574) 评论(0) 推荐(0)

2013年4月6日 #

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

摘要: TCP连接探测中的Keepalive 和心跳包​ (转)采用TCP连接的C/S模式软件,连接的双方在连接空闲状态时,如果任意一方意外崩溃、当机、网线断开或路由器故障,另一方无法得知TCP连接已经失效,除非继续在此连接上发送数据导致错误返回。很多时候,这不是我们需要的。我们希望服务器端和客户端都能及时有效地检测到连接失效,然后优雅地完成一些清理工作并把错误报告给用户。如何及时有效地检测到一方的非正常断开,一直有两种技术可以运用。一种是由TCP协议层实现的Keepalive,另一种是由应用层自己实现的心跳包。TCP默认并不开启Keepalive功能,因为开启Keepalive功能需要消耗额外的宽带 阅读全文

posted @ 2013-04-06 21:41 Nice_hanyu 阅读(389) 评论(0) 推荐(0)

2013年4月3日 #

Visual Studio 遇到了异常。这可能是由某个扩展导致的。

摘要: 【转】Visual Studio 遇到了异常。这可能是由某个扩展导致的。帮我解决了问题,转过来备用============================================作者:ThelostMind装了个VS2010,安装了2008的MSDN,结果问题就出现了: 只要在VS2010源码编辑器中输入一个字符,它就报道错误了 "visual studio 2010 遇到了异常,可能是由某个扩展导致的......"。刚开始一看,以为是扩展引起的,那我就把vs中所有的扩展暂时禁用一下,结果bug还是依旧。求助google, 以下是具体的解决方法: 这个bug是安装某 阅读全文

posted @ 2013-04-03 14:37 Nice_hanyu 阅读(292) 评论(0) 推荐(0)

2013年3月20日 #

C++程序提示用户“以管理员身份运行"

摘要: vs2008工程属性里linker->manifestfiles->UACexcutionlevel选中requireadministrator 阅读全文

posted @ 2013-03-20 10:28 Nice_hanyu 阅读(563) 评论(0) 推荐(0)

2013年3月14日 #

一般程序挂了,应首先考虑内存是不是不够了

摘要: 找了两天的BUG,MFC打开选项卡太多会导致程序死机,原来是内存不够了! 阅读全文

posted @ 2013-03-14 11:35 Nice_hanyu 阅读(107) 评论(0) 推荐(0)

2013年3月13日 #

如何修改StaticText的字体

摘要: 查了网上的资料,有比较全面的,但有一个问题就是容易出现一个文字和框子不符合的现象。(仔细看,蓝色字母和背景的灰色有空白)要消除这个空白,很简单,就是加上m_brush.CreateSolidBrush(RGB(240,240,240));这句话,在构造函数里。其中RGB设置为和背景一样的银灰色。CPP文件中的语句:HBRUSH 类名::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ CFormView::OnCtlColor(pDC, pWnd, nCtlColor); //继承View的部分功能 if (pWnd->GetDl... 阅读全文

posted @ 2013-03-13 10:11 Nice_hanyu 阅读(415) 评论(0) 推荐(0)