今天一个同学叫我帮忙解决一个关于MFC的问题,问题为:“将两个独立的MFC程序合并为一个程序 ”。

当然了,我用的是障眼法。

(1)下面先来看看具体情况:程序A和程序B分别是两个独立的工程文件。



(2)首先我在程序B的工程文件里面,添加一个对话框,设计一个主界面:


(3)然后对两个按钮添加相应事件:

“纹理特征提取”按钮:

void CMAINDIALOG::OnButton2()
{// TODO: Add your control notification handler code hereShellExecute(NULL,"open","Texture.exe",NULL,NULL,SW_SHOWNORMAL);
}

“图像检索”按钮:

void CMAINDIALOG::OnButton1()
{// TODO: Add your control notification handler code hereCXbwDlg  dlg;dlg.DoModal();
}


(4)再去修改工程B里面的InitInstance()函数,实例化我们自己定义的主窗口对象:(让程序一运行,便弹出我们自己定义的窗口)

 CMAINDIALOG main_dlg;main_dlg.DoModal();

(5)在将另外一个程序生成release版本:

此时,运行程序,便将两个独立的程序合二为一了。但是这其实只是个障眼法,同样有两个可执行文件,只是在其中一个程序里添加了另外一个程序打开的快捷方式而已。

(6)效果如下:

拓展:

ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。

函数原型:

关于此函数的具体使用方法,大家可以参考微软的msdn。


注:原例子下载地址

点击下载:  http://download.csdn.net/detail/rl529014/9525960

MFC中如何将两个独立的程序合并为一个程序(障眼法)相关推荐

  1. 请拆招:将两个已排序集合分解成两个独立部分的集合和一个共有部分的集合?...

    请拆招:将两个已排序集合分解成两个独立部分的集合和一个共有部分的集合? 请看下面的代码. using System; using System.Collections.Generic; namespa ...

  2. 10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字。 编写一个程序, 尝试读取这些文件, 并将其内容打印到

    10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字. 编写一个程序, 尝试读取这些文件, 并将其内容打印到 ...

  3. 将两个有序顺序表合并为一个新的有序顺序表MergeList_Sq

    将两个有序顺序表合并为一个新的有序顺序表,输出合并后的顺序表的所有数据元素: #include<stdio.h> #include<stdlib.h> #define LIST ...

  4. 如何把两段即以上视频合并成一个

    随着科技的快速发展,我们使用视频和图片的机会越来越多,快节奏的生活方式,使得很多人对文字失去了耐心,不管是学习或者是简单的娱乐,都会用到视频,像小编一样有自己的爱豆的会经常把很多视频合并成一个,这样很 ...

  5. 将两个有序顺序表合并为一个新的有序顺序表

    将两个有序顺序表合并为一个新的有序顺序表 题目要求 基本思想 核心代码 完整代码(C++) 题目要求 将两个有序顺序表合并为一个新的有序顺序表,并由函数返回合并后的顺序表. 基本思想 非常经典的题目, ...

  6. MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠

    请教一下MFC中的控件是怎么实现的呢(通过调用什么样的API,传递什么参数)?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠在主窗口上?还是直接在主窗口上画图? 我想到的是: JavaScr ...

  7. 两个List数据集合合并成一个List

    查询两个差不多相同的表,一个是入库表,一个是退货表,字段大致相同,但是有所差异,入库表的数量和所有金额都是正数,退货表的数量和金额都是负数,所以不能join链表查询,需要分开查询出两个ToList:但 ...

  8. 【问答】excel使用过程中,出现:无法清空剪帖板,另一个程序可能仍在使用剪贴板

    问: 这个是在使用excel中出现的,每移动一个数据就会弹出一个无法清空剪帖板,另一个程序可能仍在使用剪贴板.很烦人. 清空excel剪切板是无效的,电脑程序-附件里找不到剪切板.装的是win7系统. ...

  9. 【解决python中使用pillow报错】PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问

    项目场景 import os from PIL import Image img = Image.open('test.png') w, h = img.size if w > h:os.rem ...

最新文章

  1. SAP QM 采购货物收到第三方仓库,转库回工厂仓库之后质检之处理
  2. python如何编程-编程零基础应当如何开始学习 Python?
  3. priority_queue
  4. 二叉树的基本概念以及基本操作
  5. .Net Compact Framework 小技巧(1)
  6. wxWidgets:使用 wxWidgets 资源文件XRC
  7. php并行运算,php多进程并行执行脚本的代码
  8. 查找算法-(顺序查找、二分查找、插值查找、斐波那契查找)
  9. 遍历删除_面试难题:List 如何一边遍历,一边删除?
  10. 数据增量更新定义_TiDB 在 OPPO 准实时数据仓库中的实践
  11. 谷歌Colab GPU达到使用量限额解决办法
  12. UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
  13. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第2节 Date类_3_DateFormat类SimpleDateFormat类...
  14. CSS实现左侧固定大小,右侧自适应的布局
  15. KCG-VISION:简介(一款快速开发机器视觉的软件)
  16. 基于Token实现开放API接口签名验证
  17. Python实时获取steam游戏数据
  18. 如何解决apt-get中Unmet dependencies问题
  19. 雾里看菊:热点IP是怎么生成的
  20. 红黑树 - Wikipedia

热门文章

  1. Error:Execution failed for task ':app:mergeDebugResources'. \re
  2. Python实用:图片格式转换
  3. [翻译]拒绝服务***详解之基础篇
  4. 论文笔记:Attention Correctness in Neural Image Captioning
  5. m基于flocking算法的无人机群空间避障飞行matlab仿真,对比二维场景和三维场景
  6. Linux shell脚本的循环命令 whlie do done
  7. pytorch bug: Unable to find a valid cuDNN algorithm to run convolution
  8. 拯救者14(i7-4720HQ)电池驱动过程记录顺带解决了触控板设置项无法打开的问题
  9. 5.2 VLAN:QinQ
  10. 多屏幕炒股计算机配置,多屏幕股票交易计算机配置建议使用i59400F计算机主机配置(最多六个屏幕)...