| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*************************************************************************
- 【文件名】 GuardMain.h
- 【功能模块和目的】 进程监控主体类头文件
- 【开发者及日期】 郑石诺 2015/12/21
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- /*************************************************************************
- 【类名】 CGuardMain
- 【功能】
- 【接口说明】 进程监控主体类
- 【开发者及日期】 郑石诺 2015/12/21
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CGuardMain
- {
- SINGLETON_DECLARE(CGuardMain)
- public:
- ~CGuardMain(void);
- bool init(void); // 初始化监控服务
- void startWatchServer(void); // 启动监控服务
- void stopWatchServer(void); // 停止监控服务
- private:
- CGuardMain(void);
- void __runWithOs(void); // 随系统启动
- bool __loadConfigInfo(void); // 加载配置信息
- void __onWatch(void); // 处理监控线程函数
- void __onTimer(void); // 处理定时器线程函数
- CString __getLastError(void); // 获取错误信息
- bool __getTokenByName(HANDLE &hToken, CString strName); // Token解析
- // 进程操作函数
- bool __searchProcess(LPCTSTR lpProcessName, DWORD& dwProcessId); // 搜索进程
- void __killProcess(DWORD dwProcessId); // 杀死进程
- void __runProcess(ProcessInfo& ProInfo); // 运行进程(普通进程模式)
- void __runProcessByService(ProcessInfo& ProInfo); // 运行进程(服务模式)
- static UINT __watchThreadFun(LPVOID Param); // 监控线程处理函数
- static UINT __timerThreadFun(LPVOID Param); // 定时器线程函数
- private:
- HANDLE m_hFileConfig; // 配置文件句柄
- HANDLE m_hMapFileConfig; // 配置文件映射句柄
- ProcessInfo* m_pProcessInfo; // 配置信息内存视图
- CWinThread* m_pThreadWatch; // 线程处理类指针
- CWinThread* m_pThreadTimer; // 定时器线程
- };
|