187 lines
3.6 KiB
C++
187 lines
3.6 KiB
C++
|
|
#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;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|