BOOL CBMPApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); //开启内存泄露检测 #ifdef _DEBUG _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif //设置默认异常过滤器 SetUnhandledExceptionFilter(MyUnhandledExceptionFilter); //加载语言文件,目前只支持中文 if (CLanguageManager::Instance()->LoadLanguage(CLanguageManager::LANGUAGE_CHS_SIMPLE) != CLanguageManager::Error_Language_Manager_Success) { ::MessageBox(NULL, _T("语言文件加载失败。"), _T("提示"), MB_OK); return FALSE; } //初始化日志模块 InitLogModule(); //加载配置 CConfManager::Instance()->Init(); CConfManager::Instance()->DBSchemeVersion(1); //目前版本为1 //初始化用户模块 CCustomerManager::Instance()->Init(); //初始化单子管理模块 COrderManager::Instance()->Init(); //初始化操作日志模块 COperatorManager::Instance()->Init(); //初始化兑奖模块 CRewardManager::Instance()->Init(); //初始化界面资源 DuiLib::CPaintManagerUI::SetInstance(m_hInstance); DuiLib::CPaintManagerUI::SetResourcePath(CPathUtilEx::Instance()->GetImagePath()); DuiLib::CPaintManagerUI::SetResourceZip(_T("skin.zip")); HRESULT Hr = ::CoInitialize(NULL); if (FAILED(Hr)) { return FALSE; } //创建主界面 CMainDlg* pFrame = new CMainDlg(); if (pFrame == NULL) { return FALSE; } pFrame->SetAutoDelete(false); if (pFrame->Create(_T("mainPage.xml"), NULL, WS_VISIBLE|WS_OVERLAPPEDWINDOW, WS_EX_APPWINDOW) == NULL) //fail { // } else { pFrame->ShowModal(); } delete pFrame; pFrame = NULL; ::CoUninitialize(); //停止音频播放模块,避免程序退出了,还在播放,异常 CSoundManager::Instance()->Exit(); return FALSE; }