// ServerCtrlDlg.cpp : 实现文件 // #include "stdafx.h" #include "ServerCtrlDlg.h" #include "ServiceUnits.h" // CServerCtrlDlg 对话框 IMPLEMENT_DYNAMIC(CServerCtrlDlg, CDialog) CServerCtrlDlg::CServerCtrlDlg(CWnd* pParent /*=NULL*/) : CDialog(CServerCtrlDlg::IDD, pParent) { } CServerCtrlDlg::~CServerCtrlDlg() { } void CServerCtrlDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_EDIT_MSG_TEXT, m_EditMsgText); DDX_Control(pDX, IDC_CHECK_SMT_EJECT, m_btnSMTEject); DDX_Control(pDX, IDC_CHECK_SMT_TABLE_ROLL, m_btnSMTTableRoll); DDX_Control(pDX, IDC_CHECK_SMT_CLOSE_GAME, m_btnSMTCloseGame); } BOOL CServerCtrlDlg::OnInitDialog() { __super::OnInitDialog(); return TRUE; } BEGIN_MESSAGE_MAP(CServerCtrlDlg, CDialog) ON_BN_CLICKED(IDOK, &CServerCtrlDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BTN_SEND_SYS_MSG, &CServerCtrlDlg::OnBnClickedBtnSendSysMsg) ON_BN_CLICKED(IDC_BTN_MAINTAIN_SERVICE, &CServerCtrlDlg::OnBnClickedBtnMaintainService) ON_BN_CLICKED(IDC_BTN_RECOVERY_SERVICE, &CServerCtrlDlg::OnBnClickedBtnRecoveryService) ON_BN_CLICKED(IDC_BTN_CLEAR_LOCKER, &CServerCtrlDlg::OnBnClickedBtnClearLocker) ON_BN_CLICKED(IDC_BTN_UPDATE_VERSION, &CServerCtrlDlg::OnBnClickedBtnUpdateVersion) END_MESSAGE_MAP() void CServerCtrlDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CDialog::OnOK(); } void CServerCtrlDlg::OnBnClickedBtnSendSysMsg() { // TODO: 在此添加控件通知处理程序代码 CString strMsg; m_EditMsgText.GetWindowText(strMsg); if ( strMsg.IsEmpty() ) { AfxMessageBox("消息内容必须填写"); return; } CMD_CM_SystemMessage msg; ZeroMemory(&msg, sizeof(CMD_CM_SystemMessage)); //构造数据 lstrcpyn(msg.szString, strMsg.GetBuffer(), CountArray(msg.szString)); if (m_btnSMTEject.GetCheck() == BST_CHECKED) { msg.wType |= SMT_EJECT; } if (m_btnSMTTableRoll.GetCheck() == BST_CHECKED) { msg.wType |= SMT_TABLE_ROLL; } if (m_btnSMTCloseGame.GetCheck() == BST_CHECKED) { msg.wType |= SMT_CLOSE_GAME; } if (CServiceUnits::g_pServiceUnits != nullptr) { //通知服务器维护 CServiceUnits::g_pServiceUnits->SendSystemMessage(&msg); AfxMessageBox(TEXT("执行成功")); } } void CServerCtrlDlg::OnBnClickedBtnMaintainService() { // TODO: 在此添加控件通知处理程序代码 //维护询问 LPCTSTR pszQuestion = TEXT("游戏服务器正在运行中,您确实要维护服务器吗?"); if (AfxMessageBox(pszQuestion, MB_YESNO | MB_DEFBUTTON2 | MB_ICONQUESTION) != IDYES) { return ; } if ( CServiceUnits::g_pServiceUnits!=nullptr ) { CServiceUnits::g_pServiceUnits->MaintainService(TRUE); CTraceService::TraceString(TEXT("服务器即将维护"), TraceLevel_Warning); AfxMessageBox(TEXT("执行成功")); } } void CServerCtrlDlg::OnBnClickedBtnRecoveryService() { // TODO: 在此添加控件通知处理程序代码 if (CServiceUnits::g_pServiceUnits != nullptr) { CServiceUnits::g_pServiceUnits->MaintainService(FALSE); CTraceService::TraceString(TEXT("服务恢复"), TraceLevel_Warning); AfxMessageBox(TEXT("执行成功")); } } void CServerCtrlDlg::OnBnClickedBtnClearLocker() { // TODO: 在此添加控件通知处理程序代码 if (CServiceUnits::g_pServiceUnits != nullptr) { CServiceUnits::g_pServiceUnits->UnlockAllUser(); AfxMessageBox(TEXT("执行成功")); } } void CServerCtrlDlg::OnBnClickedBtnUpdateVersion() { // TODO: 在此添加控件通知处理程序代码 if (CServiceUnits::g_pServiceUnits != nullptr) { CServiceUnits::g_pServiceUnits->UpDateVersion(); AfxMessageBox(TEXT("执行成功")); } }