int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int show) { MainDialog dlg; WTL::CMessageLoop loop; int ret = 1; CoInitialize(NULL); _Module.Init(NULL, hinst); _Module.AddMessageLoop(&loop); if(dlg.Create(NULL)) { dlg.ShowWindow(show); ret = loop.Run(); } _Module.RemoveMessageLoop(); _Module.Term(); CoUninitialize(); return ret; }
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { WTL::CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); CMainFrame wndMain; if(wndMain.CreateEx() == NULL) { ATLTRACE(_T("Main window creation failed!\n")); return 0; } wndMain.ShowWindow(nCmdShow); int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }