线程返回结果到主界面显示

线程返回结果到主界面显示

ID:39623262

大小:102.50 KB

页数:5页

时间:2019-07-07

线程返回结果到主界面显示_第1页
线程返回结果到主界面显示_第2页
线程返回结果到主界面显示_第3页
线程返回结果到主界面显示_第4页
线程返回结果到主界面显示_第5页
资源描述:

《线程返回结果到主界面显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、线程返回结果到主界面显示1.定义消息:在对话框类的头文件中定义一个自定义消息#defineWM_MY_MESSAGEWM_USER+1002.在类的消息映射表中加入映射项方法:打开对话框的cpp文件,在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()之间添加消息映射ON_MESSAGE(WM_MY_MESSAGE,MyMessage)3.在类中声明该消息的处理函数:方法:在对话框类点击右键,选择“添加成员函数”方法返回值:LRESULT方法名称:MyMessage(WPARAMwParam,LPARAMlParam)2.实现该处理函

2、数longCScanDlg::MyMessage(WPARAMwParam,LPARAMlParam){char*temp=(char*)lParam;charport[20];strcpy(port,temp);m_Result.AddString(port);deletetemp;return0;}2.实现线程函数方法:在类视图中,点开Global,双击theApp,在文件的最后添加一个全局函数,即线程处理函数RecvThread内容如下:UINT__stdcallRecvThread(LPVOIDlParam){char*port=newchar[

3、20];strcpy(port,"80");PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_MY_MESSAGE,0,(LPARAM)port);return0;}其中:PostMessage即线程向主程序的窗口发送一个消息,消息名称为WM_MY_MESSAGE,AfxGetMainWnd()->GetSafeHwnd()为获取主窗口的句柄,消息传递的参数为port3.将此全局函数加入到对话框的头文件中声明内容:UINT__stdcallRecvThread(LPVOIDlParam);2.在button的处理

4、函数中调用线程内容:_beginthreadex(NULL,NULL,RecvThread,NULL,NULL,NULL);注意:此例子中,在启动线程的函数中没有给线程函数传递参数。在端口扫描中需要给这个线程传递参数。参考多线程server.cpp的例子。3.编译程序注意要在VC的工程菜单中设置多线程支持4.运行结果:点击扫描后,线程的执行结果在ListBox中显示出来了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。