Files
wnmj/Servers/服务器组件/登录服务器/LogonServerDlg.cpp

187 lines
3.6 KiB
C++
Raw Normal View History

2026-02-13 14:34:15 +08:00
#include "Stdafx.h"
#include "Resource.h"
#include "LogonServerDlg.h"
//////////////////////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CLogonServerDlg, CDialog)
ON_WM_QUERYENDSESSION()
ON_BN_CLICKED(IDC_STOP_SERVICE, OnBnClickedStopService)
ON_BN_CLICKED(IDC_START_SERVICE, OnBnClickedStartService)
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CLogonServerDlg::CLogonServerDlg() : CDialog(IDD_DLG_LOGON_SERVER)
{
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CLogonServerDlg::~CLogonServerDlg()
{
}
//<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
VOID CLogonServerDlg::DoDataExchange(CDataExchange * pDX)
{
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TRACE_MESSAGE, m_TraceServiceControl);
}
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL CLogonServerDlg::OnInitDialog()
{
__super::OnInitDialog();
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
SetWindowText(TEXT("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- [ ֹͣ ]"));
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
HICON hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
SetIcon(hIcon,TRUE);
SetIcon(hIcon,FALSE);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_ServiceUnits.SetServiceUnitsSink(this);
return TRUE;
}
//ȷ<><C8B7><EFBFBD><EFBFBD>Ϣ
VOID CLogonServerDlg::OnOK()
{
return;
}
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VOID CLogonServerDlg::OnCancel()
{
//<2F>ر<EFBFBD>ѯ<EFBFBD><D1AF>
if (m_ServiceUnits.GetServiceStatus()!=ServiceStatus_Stop)
{
LPCTSTR pszQuestion=TEXT("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ȷʵҪ<EFBFBD>رշ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
if (AfxMessageBox(pszQuestion,MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)!=IDYES) return;
}
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
m_ServiceUnits.ConcludeService();
__super::OnCancel();
}
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
BOOL CLogonServerDlg::PreTranslateMessage(MSG * pMsg)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((pMsg->message==WM_KEYDOWN)&&(pMsg->wParam==VK_ESCAPE))
{
return TRUE;
}
return __super::PreTranslateMessage(pMsg);
}
//<2F><><EFBFBD><EFBFBD>״̬
VOID CLogonServerDlg::OnServiceUnitsStatus(enServiceStatus ServiceStatus)
{
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
switch (ServiceStatus)
{
case ServiceStatus_Stop: //ֹͣ״̬
{
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
SetWindowText(TEXT("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- [ ֹͣ ]"));
//<2F><><EFBFBD>ð<EFBFBD>ť
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(FALSE);
GetDlgItem(IDC_START_SERVICE)->EnableWindow(TRUE);
//<2F><>ʾ<EFBFBD><CABE>Ϣ
LPCTSTR pszDescribe=TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD>ɹ<EFBFBD>");
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
break;
}
case ServiceStatus_Config: //<2F><><EFBFBD><EFBFBD>״̬
{
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
SetWindowText(TEXT("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- [ <20><>ʼ<EFBFBD><CABC> ]"));
//<2F><><EFBFBD>ð<EFBFBD>ť
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(TRUE);
GetDlgItem(IDC_START_SERVICE)->EnableWindow(FALSE);
//<2F><>ʾ<EFBFBD><CABE>Ϣ
LPCTSTR pszDescribe=TEXT("<EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...");
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
break;
}
case ServiceStatus_Service: //<2F><><EFBFBD><EFBFBD>״̬
{
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
SetWindowText(TEXT("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- [ <20><><EFBFBD><EFBFBD> ]"));
//<2F><><EFBFBD>ð<EFBFBD>ť
GetDlgItem(IDC_STOP_SERVICE)->EnableWindow(TRUE);
GetDlgItem(IDC_START_SERVICE)->EnableWindow(FALSE);
//<2F><>ʾ<EFBFBD><CABE>Ϣ
LPCTSTR pszDescribe=TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>");
CTraceService::TraceString(pszDescribe,TraceLevel_Normal);
break;
}
}
return;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VOID CLogonServerDlg::OnBnClickedStartService()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
try
{
m_ServiceUnits.StartService();
}
catch (...)
{
ASSERT(FALSE);
}
return;
}
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
VOID CLogonServerDlg::OnBnClickedStopService()
{
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
try
{
m_ServiceUnits.ConcludeService();
}
catch (...)
{
ASSERT(FALSE);
}
return;
}
//<2F>ر<EFBFBD>ѯ<EFBFBD><D1AF>
BOOL CLogonServerDlg::OnQueryEndSession()
{
//<2F><>ʾ<EFBFBD><CABE>Ϣ
if (m_ServiceUnits.GetServiceStatus()!=ServiceStatus_Stop)
{
CTraceService::TraceString(TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ϵͳҪ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"),TraceLevel_Warning);
return FALSE;
}
return TRUE;
}
//////////////////////////////////////////////////////////////////////////////////