MFC中如何將兩個獨立的程式合併為一個程式(障眼法)
阿新 • • 發佈:2019-01-29
今天一個同學叫我幫忙解決一個關於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