#ifndef GAME_SERVER_SERVER_DLG_HEAD_FILE #define GAME_SERVER_SERVER_DLG_HEAD_FILE #pragma once #include "Stdafx.h" #include "ServiceUnits.h" #include "Commend.h" #include "afxwin.h" #include "StackWalker.h" #ifndef _DEBUG #include "create_dump.h" #endif class MyStackWalker : public StackWalker { public: MyStackWalker() : StackWalker() {} MyStackWalker(DWORD dwProcessId, HANDLE hProcess) : StackWalker(dwProcessId, hProcess) {} virtual void OnOutput(LPCSTR szText) { TRACE(szText); } }; struct GAMESERVERINFOSUB { DWORD dServerID; //服务器ID TCHAR szPath[256]; //节点路径 DWORD Pid; //进程ID TCHAR szUpData[32]; //上次更新数据时间 TCHAR szStartData[32]; //下次启动预计时间 DWORD Err1; //两分钟内登陆失败次数 DWORD Suc1; //两分钟内登陆成功次数 WORD Err2; //两分钟内数据库报错次数 WORD Ack; //回报信息 int iStat; //服务器运行状态 }; //共享内存 struct GAMESERVERINFOALL { int iNum; // 实例个数 最大20 TCHAR szCtrl[256];//策略获取地址 GAMESERVERINFOSUB Data[20];//数据 }; // CGameServerDlg 对话框 class CGameServerDlg : public CDialogEx, public IServiceUnitsSink { public: static STARTP g_StartP; //启动参数 static bool g_bGameLog; //游戏框架日志启用 //组件变量 public: CTime m_StartTime; CServiceUnits m_ServiceUnits; //服务单元 CTraceServiceControl m_TraceServiceControl; //追踪窗口 Commend m_SuperLog; //日志 #ifndef _DEBUG CExceptionReport m_Exception; //异常捕获 #endif //组件变量 protected: CModuleDBParameter m_ModuleDBParameter; //模块参数 //配置参数 protected: bool m_bAutoControl; //自动控制 bool m_bOptionSuccess; //配置标志 tagModuleInitParameter m_ModuleInitParameter; //配置参数 int iRenWuID; //任务ID // 构造 public: CGameServerDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = 102 }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 TagUpData m_Data; // 实现 protected: HICON m_hIcon; // 生成的消息映射函数 virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() public: afx_msg BOOL OnQueryEndSession(); virtual void OnCancel(); virtual void OnOK(); virtual BOOL PreTranslateMessage(MSG* pMsg); //命令处理 LRESULT OnMessageProcessCmdLine(WPARAM wParam, LPARAM lParam); LRESULT OnMessageUpdata(WPARAM wParam, LPARAM lParam); //停止业务 LRESULT OnMessageStop(WPARAM wParam, LPARAM lParam); //服务接口 public: //服务状态 virtual VOID OnServiceUnitsStatus(enServiceStatus ServiceStatus); static BOOL UpData(TagUpData Data); //辅助函数 protected: //更新图标 VOID UpdateServerLogo(LPCTSTR pszServerDLL); //更新标题 VOID UpdateServerTitle(enServiceStatus ServiceStatus); //更新状态 VOID UpdateParameterStatus(tagModuleInitParameter & ModuleInitParameter); //服务控制 protected: //启动房间 bool StartServerService(WORD wServerID); //获取连接 bool InitDataBaseParameter(tagDataBaseParameter & DataBaseParameter); //加载配置 VOID LoadInitParameter(); public: afx_msg void OnBnClickedStartService(); afx_msg void OnBnClickedStopService(); afx_msg void OnBnClickedOpenServer(); afx_msg void OnBnClickedOpenMatch(); afx_msg void OnBnClickedCreateServer(); afx_msg void OnBnClickedOptionServer(); afx_msg void OnBnClickedOptionMatch(); CComboBox mListBox; CComboBox j2; CComboBox j3; CEdit a1; CEdit a2; CEdit b1; CEdit b2; CEdit c1; CEdit c2; CEdit d1; CEdit d2; CEdit e1; CEdit e2; CEdit f1; CEdit f2; CEdit g1; CEdit g2; CEdit h1; CEdit h2; CEdit i1; CEdit i2; CEdit j1; CEdit j4; CEdit j5; CEdit j6; CEdit j7; CEdit game1; CEdit game2; CEdit game3; CEdit game4; CEdit game5; CEdit game6; CEdit game7; CEdit game8; CListBox bbb; CListBox ccc; afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnSendGongGaoButton1(); afx_msg void OnBnClickedButton2(); afx_msg void OnBnHotItemChangeCheck2(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedCheck2(); afx_msg void OnBnClickedCheck3(); afx_msg void OnBnClickedButton7(); afx_msg void OnBnClickedButton4(); afx_msg void OnBnClickedCheck4(); afx_msg void OnBnClickedButton5(); afx_msg void OnBnClickedButton6(); afx_msg void OnBnClickedButton3(); afx_msg void OnBnClickedButton8(); afx_msg void OnBnClickedCheck5(); afx_msg void OnLbnSelchangeList2(); afx_msg void OnBnClickedCheck6(); afx_msg void OnBnClickedCheck7(); int StopService(); afx_msg void OnBnClickedButton9(); }; #endif