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