RunTest.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // RunTest.cpp : 定义应用程序的类行为。
  2. //
  3. #include "stdafx.h"
  4. #include "RunTest.h"
  5. #include "RunTestDlg.h"
  6. #include ".\runtest.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #endif
  10. // CRunTestApp
  11. BEGIN_MESSAGE_MAP(CRunTestApp, CWinApp)
  12. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  13. END_MESSAGE_MAP()
  14. // CRunTestApp 构造
  15. CRunTestApp::CRunTestApp()
  16. {
  17. // TODO: 在此处添加构造代码,
  18. // 将所有重要的初始化放置在 InitInstance 中
  19. //_CrtDumpMemoryLeaks();
  20. //_CrtSetBreakAlloc(94459); //98500为上面内存泄漏的块号.
  21. }
  22. // 唯一的一个 CRunTestApp 对象
  23. CRunTestApp theApp;
  24. // CRunTestApp 初始化
  25. HMODULE hriched = NULL;
  26. BOOL CRunTestApp::InitInstance()
  27. {
  28. CString strPath;
  29. TCHAR szFull[_MAX_PATH];
  30. TCHAR szDrive[_MAX_DRIVE];
  31. TCHAR szDir[_MAX_DIR];
  32. ::GetModuleFileName(NULL, szFull, sizeof(szFull)/sizeof(TCHAR));
  33. _tsplitpath(szFull, szDrive, szDir, NULL, NULL);
  34. _tcscpy(szFull, szDrive);
  35. _tcscat(szFull, szDir);
  36. strPath = CString(szFull);
  37. #if 0 // 是否使用默认
  38. LOG4C_INIT_DEFAULT();
  39. #else
  40. char szFileName[MAX_PATH];
  41. sprintf(szFileName, "%s\\log.txt", strPath);
  42. ///设置日志配置文件名
  43. LOG4C_PARAM_CFG_FILE_NAME(szFileName);
  44. ///设置日志级别
  45. LOG4C_PARAM_LOG_LEVEL("unknown");
  46. ///设置日志文件大小
  47. LOG4C_PARAM_LOG_FILE_SIZE(5024000);
  48. ///设置生成日志文件个数,达到最大个数将自动覆盖最旧的日志
  49. LOG4C_PARAM_LOG_FILE_NUM(3);
  50. ///设置每次记录日志都重新读取日志配置文件
  51. LOG4C_PARAM_REREAD_LOG_CFG_FILE(1);
  52. ///带参数日志模块初始化,以上所有设置了的参数都将生效,没有设置的采用缺省值
  53. LOG4C_INIT_WITH_PARAM();
  54. #endif
  55. // 如果一个运行在 Windows XP 上的应用程序清单指定要
  56. // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
  57. //则需要 InitCommonControls()。否则,将无法创建窗口。
  58. InitCommonControls();
  59. // afxinitrichedit();
  60. hriched = LoadLibrary("riched20.dll");
  61. CWinApp::InitInstance();
  62. AfxEnableControlContainer();
  63. // 标准初始化
  64. // 如果未使用这些功能并希望减小
  65. // 最终可执行文件的大小,则应移除下列
  66. // 不需要的特定初始化例程
  67. // 更改用于存储设置的注册表项
  68. // TODO: 应适当修改该字符串,
  69. // 例如修改为公司或组织名
  70. SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
  71. CRunTestDlg dlg;
  72. m_pMainWnd = &dlg;
  73. INT_PTR nResponse = dlg.DoModal();
  74. if (nResponse == IDOK)
  75. {
  76. // TODO: 在此放置处理何时用“确定”来关闭
  77. //对话框的代码
  78. }
  79. else if (nResponse == IDCANCEL)
  80. {
  81. // TODO: 在此放置处理何时用“取消”来关闭
  82. //对话框的代码
  83. }
  84. // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
  85. // 而不是启动应用程序的消息泵。
  86. return FALSE;
  87. }
  88. int CRunTestApp::ExitInstance()
  89. {
  90. // TODO: 在此添加专用代码和/或调用基类
  91. FreeLibrary(hriched);
  92. return CWinApp::ExitInstance();
  93. }