2012年10月29日, 上午10:03
有如下两种方法实现:
第一种:
给Dlg类添加WM_SIZE事件,会自动生成OnSize()方法
[php]
void CTrayDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
//最小化 SIZE_MINIMIZED
//最大化 SIZE_MAXIMIZED
//还原 SIZE_RESTORED
if (nType== SIZE_MINIMIZED) //响应最小化
{
//在这里添加最小化需要处理的事件
ShowWindow(SW_HIDE);
}
}
[/php]
第二种:
Continue reading ‘实现窗口最大化最小化消息事件’ »
Category:
C++ |
实现窗口最大化最小化消息事件已关闭评论
2012年10月27日, 下午1:25
为什么在线程中调用AfxGetMainWnd()->PostMessage(WM_DISPLAY,0,0);会出现内存访问错误?
解决办法如下:
在创建线程的时候,用AfxGetMainWnd()->GetSafeHwnd()得到主窗口的HWND值,并作为创建线程的参数,传给线程。在线程中,使用这个HWND,比如:
主程序中:
[php]
HWND hMainWnd = AfxGetMainWnd()->GetSafeHwnd();
AfxBeginThread(YourThreadFunc, (LPVOID)hMainWnd);
[/php]
线程函数:
[php]
UINT YourThreadFunc(LPVOID pParam)
{
……
HWND hMainWnd = (HWND)pParam;
::PostMessage(hMainWnd, WM_DISPLAY,0,0);
……
}
[/php]
Category:
C++ |
线程中调用PostMessage()出现内存访问错误已关闭评论
2012年10月26日, 上午9:31
目前主要有三种方法来实现用户掉线检测:SO_KEEPALIVE ,SIO_KEEPALIVE_VALS 和Heart-Beat线程。
下面我就上面的三种方法来做一下介绍。
一、SO_KEEPALIVE机制
这是socket库提供的功能,设置接口是setsockopt API:
[php]
BOOL bSet=TRUE;
setsockopt(hSocket,SOL_SOCKET,SO_KEEPALIVE,(const char*)&bSet,sizeof(BOOL));
[/php]
根据MSDN的文档,如果为socket设置了KEEPALIVE选项,TCP/IP栈在检测到对方掉线后,任何在该socket上进行的调用(发送/接受调用)就会立刻返回,错误号是WSAENETRESET,同时,此后的任何在该socket句柄的调用会立刻失败,并返回WSAENOTCONN错误。
Continue reading ‘SOCKET检测TCP是否断线的三种方法’ »
Category:
网络编程 |
SOCKET检测TCP是否断线的三种方法已关闭评论
2012年10月25日, 上午10:11
网络上提供一些免费的接口资源,比如天气预报、列车时刻表以及股票信息等服务,而这些接口使用的是Web Service规范,若要自己编写协议进行通信比较费劲,我们可以使用gsoap工具来生成Web Service客户端协议组装及发送代码,而我们只需要填充查询数据就能得到我们想要的内容。
gsoap可以在http://gsoap2.sourceforge.net/上下载到,使用步骤:
1.下载gsoap文件后解压,在gsoap/bin/win32目录下有soapcpp2.exe和wsdl2h.exe两个文件。
2.将这两个文件复制到gsoap目录中,然后使用wsdl2h命令生成.h文件,例如下面的命令是生成天气预报客户端代码
[php]
wsdl2h -o weather.h http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
[/php]
3.扫行完上面的命令后,会在gsoap目录中生成相应的.h文件,再使用soapcpp2命令生成.cpp文件,-C的意思是生成客户端代码,生成服务端代码是使用-S,例如将上面的weahter.h生成.cpp文件:
[php]
soapcpp2 -C -x -i -I "./import" -L?weather.h
[/php]
5.然后将生成的.cpp文件及.h文件都复制到工程目录中进行编译
注意:在上面使用soapcpp2命令的时候,默认是生成第一版的协议,如果加上-2则生成第二版协议,若发现协议执行错误,不妨试试加上-2生成代码。
Category:
开源工具库 |
使用gsoap生成客户端代码已关闭评论
2012年10月24日, 上午9:26
现在Web Service比较流行,主要是它的接口通用性好,跨平台,跨语言,使用HTTP协议进行数据交互,本工具就是使用Web Service方式实现天气预报功能。
软件打开界面如下图所示
Continue reading ‘天气预报工具,支持代理访问’ »
Category:
工具软件 |
天气预报工具,支持代理访问已关闭评论
2012年10月23日, 下午2:47
安乐业房产源码环境配置
近段时间研究了下安乐业房产源码,前提是要先把网站部署起来,下面就是安装过程。
一、由于安乐业房产源码需要服务器支持伪静态,数据库为MYSQL,所以在网上找了一个完整服务器 Apache + PHP + MySQL环境套件包phpnow,下载地址是http://www.phpnow.org/download.php,安装过程参考他们网站的文档,然后直接启动服务器就行了。
二、把安乐业房产源码放到phpnow/htdocs目录下,然后修改源码数据库配置等信息,即以下四个文件:
/config.cfg.php
/uc/data/config.inc.php
/admin/inc/db.php
/admin/data/path.inc.php
凡是涉及到数据库地方都需要修改
三、详细修改说明。
Continue reading ‘安乐业房产源码环境搭建’ »
标签:
安乐业源码 Category:
建站 |
安乐业房产源码环境搭建已关闭评论
2012年10月23日, 下午1:49
安乐业房产源码使用的是google地图API
在本地测试安乐业房产源码,发现地图搜房等地图相关页面都能正常显示地图,但把源码放到外网PHP空间后,地图不能使用了,并且报key无效,需要重新申请google地图key,但目前google已经停止地图key的申请了,而且不在使用key了,其实只要在后台管理页面中将google地图key删掉就可以解决这个问题。
首先进入安乐业房产管理后台,打开首页->网站配置,找到googleKEY,把后面一长串东西删了,然后点保存,即可。
Category:
建站 |
安乐业房产源码地图key无效不能使用已关闭评论
2012年10月23日, 上午10:06
我在MFC中设置鼠标图标的时候,用到:
[php]
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_HAND);
[/php]
然后编译,编译器报错,提示IDC_HAND未声明的标识符,但是可以在代码中查看到已经定义了。
感觉到莫名其妙,解决办法是:
打开stdafx.h找到#include ,在这之前,记住一定要在这段代码之前(否则没有效果)加上:
[php]
#ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0500 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
#endif
[/php]
这样就可以了。这是由于宏没有定义导致标识符无法识别的问题。
Category:
C++ |
VC提示IDC_HAND未声明的标识符已关闭评论
2012年10月22日, 下午3:32
以下是各大搜索引擎网站收录提交的入口:
百度网站收录提交入口http://www.baidu.com/search/url_submit.html
Google网站收录提交入口http://www.google.com/addurl/
Yahoo网站收录提交入口http://search.help.cn.yahoo.com/h4_4.html
Bing网站收录提交入口http://www.bing.com/webmaster/SubmitSitePage.aspx
Dmoz网站收录提交入口http://www.dmoz.com/World/Chinese_Simplified
Coodir网站目录收录提交入口http://www.coodir.com/accounts/addsite.asp
Alexa网站收录提交入口http://www.alexa.com/help/webmasters
搜狗网站收录提交入口http://www.sogou.com/feedback/urlfeedback.php
Soso网站收录提交入口http://www.soso.com/help/usb/urlsubmit.shtml
有道搜索网站收录提交入口http://tellbot.youdao.com/report
中国搜索网站收录提交入口http://ads.zhongsou.com/register/page.jsp
Freewebsubmission.com搜索引擎批量提交http://www.freewebsubmission.com/
搜索引擎收录查询入口:
http://indexed.webmasterhome.cn/
Category:
建站 |
各大搜索引擎网站收录提交入口及收录查询已关闭评论
2012年10月21日, 下午4:37
有时候TCP传输会出现粘包情况,网上流行几种说法,一种是在发送的时候加个sleep,让发送不至于过快引起粘包,但这种会影响发送效率,这个sleep并且微秒级的,也就是说sleep(1)与sleep(40)差别不大,废话不多说,下面这段代码经测试可预防粘包。
[php]
//以下是测试结构
typedef struct tagRequest
{
UINT nMagic;
UINT ncbSize;
//
// 这中间可以写点别的
//
//
//数据长度
UINT nContentLength;
}REQUEST,*PREQUEST,*LPREQUEST;
#define REQUEST_MAGIC 0x12345678
#define REQUEST_SIZE (sizeof(tagRequest))
typedef struct tagResponse
{
UINT nMagic;
UINT ncbSize;
//
// 这中间可以写点别的
//
//
//数据长度
UINT nContentLength;
}RESPONSE,*PRESPONSE,*LPRESPONSE;
[/php]
Continue reading ‘用TCP协议传送文件可防止粘包’ »
Category:
网络编程 |
用TCP协议传送文件可防止粘包已关闭评论