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

Posted 好儿郎-志在四方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中如何将两个独立的程序合并为一个程序(障眼法)相关的知识,希望对你有一定的参考价值。

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

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

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






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




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

“纹理特征提取”按钮:

void CMAINDIALOG::OnButton2() 

	// TODO: Add your control notification handler code here
	ShellExecute(NULL,"open","Texture.exe",NULL,NULL,SW_SHOWNORMAL);



“图像检索”按钮:

void CMAINDIALOG::OnButton1() 

	// TODO: Add your control notification handler code here
	CXbwDlg  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中如何将两个独立的程序合并为一个程序(障眼法)的主要内容,如果未能解决你的问题,请参考以下文章

将两个 React 应用程序合并为一个

CSplitterWnd 的独立滚动条? (MFC)

如何将多个 Spring Boot 应用程序合并为一个?

如何在单独的 mfc 控制台应用程序中使用 mfc 应用程序的对话框?

如何将两个单独的 c++ 文件合并到一个程序中?

Android:将两个不同的应用程序合并为一个