/************************************************************************* 【文件名】 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; // 定时器线程 };