这样的程序主要实现windows平台下两个应用程序间的通信。

最简单的单元分为两个部分,一个是引用的程序,一个是被引用的程序。

一、如果引用他人,需要传递参数找到运行的程序,并且传递消息过去

void CShellExeDlg::OnBnClickedButton1()
{
// 如果没有打开程序,则打开程序。然后传递消息
CWnd *pWnd=CWnd::FindWindow(NULL,_T("几何数据(单位毫米)")); //找到运行的程序
if(pWnd==NULL)
{
AfxMessageBox((CString)"接收程序没有运行!");
return ;
}
CString str;
GetDlgItemText(IDC_EDIT2,str);
pWnd->SendMessage(WM_SETTEXT ,,(LPARAM)(LPCTSTR)str); //传递带参数消息过去
}
二、被他人引用,需要读取参数,包括自定义消息隐射和变现相应的处理过程
ON_MESSAGE(WM_SETTEXT, &CDialogModify::OnSettext)
afx_msg LRESULT CDialogModify::OnSettext(WPARAM wParam, LPARAM lParam)
{
char str[ ];
wsprintf( str, "%s", (char*) lParam );
Mat src = imread(str);
if (src.rows > )
{
CStoneGuideGUIView* fatherview = (CStoneGuideGUIView*)m_pView;
fatherview->OpenImgFromMsg(str);
}
return ;
}
这里主要采用的是WM_SETTEXT,它主要传递TEXT的,而WM_COPYDATA消息则更多是传递数据的。
 

mfc通过消息传递参数进行程序间通信的更多相关文章

  1. Visual Studio C++ MFC界面常用参数更改(改变图标,添加控件,调试打印函数等等)

    背景 需要使用Visual Studio C++做一些界面.此篇文章既是记录Visual Studio C++在调整界面时常常遇见的问题. 正文 一.如何更改窗体图标,以及生成的.exe图标 更改窗体 ...

  2. MFC:DISP_FUNCTION 参数

    /*#include <afxdisp.h>DISP_FUNCTION( theClass, pszName, pfnMember, vtRetVal, vtsParams )参数:the ...

  3. MFC技术内幕系列之(四)---MFC消息映射与消息传递内幕

    ////////////////////////////////////////////////////////////////////////////////////                 ...

  4. MFC 简介

    参考:https://baike.baidu.com/item/MFC/2236974 MFC (微软基础类库) 编辑 锁定 讨论999   MFC(Microsoft Foundation Clas ...

  5. MFC 文件对话框

    文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框.例如,很多编辑软件像记事本等都有"打开"选项,选择" ...

  6. MFC编程入门之十七(对话框:文件对话框)

    上一讲介绍的是消息对话框,本节讲解文件对话框.文件对话框也是很常用的一类对话框. 文件对话框的分类 文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框 ...

  7. MFC之向导页、消息框、文件选择、字体、颜色(三)

    属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面.另外,我们在创建MFC工程时使用的向导对话框也属于属性页对话框,它通过点击“ ...

  8. Android Handler之Message传递参数

    最近发现Message,发送消息可以传递参数,这个思路很好,所以写了一个例子,点击屏幕,给Activity发送一个消息,传递两个参数,并把这个activity销毁掉! 程序打开界面: 点击屏幕,销毁a ...

  9. MFC对话框

    创建对话框步骤: 第一,创建对话框资源,主要包括创建新的对话框模板.设置对话框属性和为对话框添加各种控件: 第二,生成对话框类,主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 创建对话框类 ...

随机推荐

  1. 导出excel时,以form方式提交json数据

    今天在写项目时写到一个excel的导出,开始想用ajax请求后台后导出,但发现ajax会有返回值,而且ajax无法直接输出文件,而后台的excel导出方法已经封装好,不方便修改. 就改用了提交的方式f ...

  2. MySQL Server-id踩到的坑

    最近踩到一个说大不大,说小不小的坑,在此分享出来给各位同学.事情是这样的,线上有2台服务器,1主1从.A -> B,B服务器从A服务器同步数据.每天使用xtrabackup在B服务器上面进行全备 ...

  3. vpn分类[转]

    目前常用的几种移动拨号的VPN技术及优势和劣势1)                WEB SSL优点:1.使用简单:每个终端用户不需要安装客户端,使用起来方便,不需要维护终端用户,通过IE直接来访问. ...

  4. JS验证只允许输入数字

    1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafter ...

  5. DBConfigReader.java

    package com.vcredit.ddcash.batch.util; import java.sql.Connection;import java.sql.PreparedStatement; ...

  6. MySQL数据库初用(5.6版本)第一课

    参考:http://wenku.baidu.com/link?url=NlX55fDDQ02wESO1HNkxpvju2xATwe9Fym0MfojWddXbYaJcjEKKRF9z9EX4b7shV ...

  7. BizTalk开发系列(三十七) 性能监视器在BizTalk性能测试中的使用

    BizTalk应用程序的性能测试和分析是一个非常重要的过程,因为BizTalk的应用程序在Run-time时受部署结构.消息请求数量和消息大小等 的影响很大,因此无论是简单还是复杂的的应用都需要在部署 ...

  8. mysql分区及实例演示

    一.为什么要分区? 需求:大数据.解决方案:分而治之,更细一点即为.将大表和大索引分为一个更小的操作单元 在mysql中,分区允许将表.索引和索引编排表细分为更小的单元.分区后,每个分区有自己单独的名 ...

  9. node js 模块分类

    核心模块 require('fs'); 核心模块是被编译成二进制代码 文件模块 require('../fs.js'); 对于加载模块时既没指出./ ../ /.../时,加载模块的搜索路径.如果'/ ...

  10. 【iCore3 双核心板】例程五:SYSTICK定时器实验——定时点亮LED

    实验指导书及代码包下载: http://pan.baidu.com/s/1eQsKcEY iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...