main.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "stdafx.h"
  2. #include "duilib.h"
  3. #include "CFrameWnd.h"
  4. #include "CSystemInfo.h"
  5. CFrameWnd* CreateFrameWnd(HINSTANCE hInstance)
  6. {
  7. CFrameWnd* pFrame = new CFrameWnd();
  8. if (pFrame == NULL) return NULL;
  9. pFrame->Create(NULL, _T("MainWnd"), UI_WNDSTYLE_FRAME, 0);
  10. pFrame->InitWindow();
  11. return pFrame;
  12. }
  13. //加载XML文件界面资源、记录程序运行配置信息
  14. bool LoadedResources(HINSTANCE hInstance)
  15. { //判断是否存在同一个exe;
  16. if (CSystemInfo::IsHanvedCurrentWindow() == true) return false;
  17. HRESULT Hr = ::CoInitialize(NULL);
  18. if (FAILED(Hr))
  19. return false;
  20. CPaintManagerUI::SetInstance(hInstance);
  21. CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath());
  22. CFrameWnd* pFrame = CreateFrameWnd(hInstance);
  23. if (pFrame == NULL)
  24. return false;
  25. CSystemInfo::isWriteAppProcessInfoToIni(pFrame->GetHWND());
  26. CPaintManagerUI::MessageLoop();
  27. return true;
  28. }
  29. int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpCmdLine*/, int nCmdShow)
  30. {
  31. FolderCore::InitAppTempPath();
  32. // 初始化UI管理器
  33. if (LoadedResources(hInstance) == false)
  34. return 0;
  35. ::CoUninitialize();//等待程序结束后,释放资源
  36. return 0;
  37. }