程序的進入函數不是C/C++的進入函數main,而是微軟的進入函數winMain。其形式如下
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
//用戶代碼
...............
return 0;
}
WTL是在ATL的基礎上發(fā)展起來的,要用到ATL中的模塊類CComModule,所以要初始化COM庫。
初始化COM庫調用CoInitialize,卸載COM庫調用CoUninitialize。程序形式如下
#include < atlbase.h >
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
CoInitialize( NULL );//用于應用程序
//用戶代碼
...............
CoUninitialize();
return 0;
}
WTL的應用程序部分的代碼封裝在了CAppModule中。要定義一個CAppModule的全局變量,保證在程序啟動前就被構造好
CAppModule是繼承的ATL中的CComModule類。程序形式演變成如下
#include < atlbase.h >
#include < atlapp.h > //WTL要用到的
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
CoInitialize( NULL );//用于應用程序
_Module.Init( NULL, hInstance );//初始化一個應用程序
//用戶代碼
...............
_Module.Term();//銷毀
CoUninitialize();
return 0;
}
posted on 2007-05-09 10:42
walkspeed 閱讀(850)
評論(0) 編輯 收藏 引用 所屬分類:
C++語言