程序的进入函数不是C/C++的进入函数main,而是微软的进入函数winMain。其形式如下
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
//用户代码
...............
return 0;
}
WTL是在ATL的基础上发展起来的,要用到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 阅读(845)
评论(0) 编辑 收藏 引用 所属分类:
C++语言