MiddleWares_YiHe 郑州颐和医院随访系统中间件

GuardMain.h 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*************************************************************************
  2. 【文件名】 GuardMain.h
  3. 【功能模块和目的】 进程监控主体类头文件
  4. 【开发者及日期】 郑石诺 2015/12/21
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. /*************************************************************************
  11. 【类名】 CGuardMain
  12. 【功能】
  13. 【接口说明】 进程监控主体类
  14. 【开发者及日期】 郑石诺 2015/12/21
  15. 【版本】 V1.0.0
  16. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  17. 【更改记录】
  18. *************************************************************************/
  19. class CGuardMain
  20. {
  21. SINGLETON_DECLARE(CGuardMain)
  22. public:
  23. ~CGuardMain(void);
  24. bool init(void); // 初始化监控服务
  25. void startWatchServer(void); // 启动监控服务
  26. void stopWatchServer(void); // 停止监控服务
  27. private:
  28. CGuardMain(void);
  29. void __runWithOs(void); // 随系统启动
  30. bool __loadConfigInfo(void); // 加载配置信息
  31. void __onWatch(void); // 处理监控线程函数
  32. void __onTimer(void); // 处理定时器线程函数
  33. CString __getLastError(void); // 获取错误信息
  34. bool __getTokenByName(HANDLE &hToken, CString strName); // Token解析
  35. // 进程操作函数
  36. bool __searchProcess(LPCTSTR lpProcessName, DWORD& dwProcessId); // 搜索进程
  37. void __killProcess(DWORD dwProcessId); // 杀死进程
  38. void __runProcess(ProcessInfo& ProInfo); // 运行进程(普通进程模式)
  39. void __runProcessByService(ProcessInfo& ProInfo); // 运行进程(服务模式)
  40. static UINT __watchThreadFun(LPVOID Param); // 监控线程处理函数
  41. static UINT __timerThreadFun(LPVOID Param); // 定时器线程函数
  42. private:
  43. HANDLE m_hFileConfig; // 配置文件句柄
  44. HANDLE m_hMapFileConfig; // 配置文件映射句柄
  45. ProcessInfo* m_pProcessInfo; // 配置信息内存视图
  46. CWinThread* m_pThreadWatch; // 线程处理类指针
  47. CWinThread* m_pThreadTimer; // 定时器线程
  48. };