2013-11-04 61 views
0

我是MFC和C++的新手。一個MFC應用程序給了我,實質上我想實現的是從另一個項目中的標準C++代碼運行這個MFC應用程序,這個項目將被構建到一個庫中。這個C++代碼執行一些簡單的if else邏輯,它決定MFC應用程序是否應該運行。有人能解釋我怎麼能做到這一點?如何用C++代碼運行MFC應用程序的exe文件?

假設: MFCApplication.h和MFCApplication.cpp在項目一中。

假設: 我的項目(項目2)涉及

DoWork.cpp與身體

if(some_logic) 
{ 
MFCApplication x; 
x.run(); 
. 
. 
. 
x.terminate(); 
} 

回答

0

答案爲任何程序,而不僅僅是一個MFC程序相同。要運行任何應用程序,程序應該使用您希望運行的exe文件的完整路徑和文件名來調用CreateProcess API。

+0

我想我應該更詳細些。我希望能夠基本上在我的代碼中獲得此應用程序的一個實例,以便我可以調用它的一些函數。 – user2296600

+1

操作系統不能這樣工作。如果你有一個應用程序(一個EXE文件),你可以運行它,並可能通過它支持的一些進程間通信機制(如果有的話)與它通話。如果它是共享庫(DLL),則可以將其加載到您的進程中並調用其功能。你不能用EXE做後者。 –

+0

@Igor你的最後一句話是誤導性的。您可以像Load DLL一樣使用LoadLibrary這個EXE。兩者都是PE圖像,確實沒有區別。 – IInspectable

相關問題