atlcore.h中有这么一个声明,
extern CAtlBaseModule _AtlBaseModule;这个模块有应用程序的一些基本信息,是3.0中CComModule模块的分解类。
ATL源码都是头文件。所以、、这个CAtlBaseModule _AtlBaseModule的定义是在哪里、应该是在某个cpp中、建立一个win32程序。包含ATL头文件
下面代码可以正常工作。
int WINAPI _tWinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPWSTR lpCmdLine, __in int nShowCmd )
{
    _AtlBaseModule.m_hInstResource = LoadLibrary( _T("shell32.dll") );
    MSGBOXPARAMS mbp;    
    ZeroMemory( &mbp, sizeof( mbp ) );
    mbp.cbSize       = sizeof( mbp );
    mbp.dwLanguageId = GetSystemDefaultLangID();
    mbp.dwStyle      = MB_USERICON;
    mbp.hInstance    = _AtlBaseModule.GetResourceInstance();
    mbp.lpszCaption  = _T("Hello");
    mbp.lpszIcon     = MAKEINTRESOURCE( 44 );
    mbp.lpszText     = _T("Hello, World!");
     MessageBoxIndirect(&mbp);
    
    FreeLibrary(_AtlBaseModule.m_hInstResource);
 //   MessageBox(NULL,_T("TEXT"),_T("HELLO"),MB_USERICON);
    return 0;
}
_AtlBaseModule.m_hInstResource。。这里这个全局变量是在哪里定义的呢?直接就可以用了。我用vs直接查看定义。直接就跳到atlcore.h中的extern部分了。。求大大解答~