⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logindlg.cpp

📁 网络游戏龙族服务器端管理工具 rmtool 源代码
💻 CPP
字号:
// LoginDlg.cpp : implementation file
//

#include "stdafx.h"
#include "rmtool.h"
#include "LoginDlg.h"

  
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog


CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CLoginDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLoginDlg)
	m_szID = _T("");
	m_szPassword = _T("");
	//}}AFX_DATA_INIT
}

void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLoginDlg)
	DDX_Control(pDX, IDC_ID, c_ID);
	DDX_Text(pDX, IDC_ID, m_szID);
	DDV_MaxChars(pDX, m_szID, 20);
	DDX_Text(pDX, IDC_PASSWORD, m_szPassword);
	DDV_MaxChars(pDX, m_szPassword, 20);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
	//{{AFX_MSG_MAP(CLoginDlg)
	ON_BN_CLICKED(IDC_LOGIN, OnLogin)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers

BOOL CLoginDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	c_ID.SetFocus();	

	UpdateData(FALSE);

	//弥惑困 扩档快肺 
	SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
   if(pMsg->hwnd == GetDlgItem(IDC_PASSWORD)->m_hWnd
      && pMsg->message == WM_KEYDOWN
      && pMsg->wParam == VK_RETURN)
   {
      OnEnterAtPassword();
	  return TRUE;
   }

   if(pMsg->hwnd == GetDlgItem(IDC_ID)->m_hWnd
      && pMsg->message == WM_KEYDOWN
      && pMsg->wParam == VK_RETURN)
   {
      (GetDlgItem(IDC_PASSWORD))->SetFocus();
	  return TRUE;
   }


	return CDialog::PreTranslateMessage(pMsg);
}

//Password Edit 冠胶俊辑 Enter 闷阑锭..
void CLoginDlg::OnEnterAtPassword()
{
	UpdateData(TRUE);

	switch(CheckID(m_szID))
	{
	case 1:		EndDialog(IDOK);	break;
	case -1:	MessageBox("Unregistered ID!");		EndDialog(IDCANCEL);	return;
	case -2:	MessageBox("Invalid Password!");	EndDialog(IDCANCEL);	return;
	//case -3:	MessageBox("Unregistered IP Address!");	EndDialog(IDCANCEL);	return;
	//case -4:	MessageBox("Please, Check Account and try Again!");	EndDialog(IDCANCEL); return;
	default:	MessageBox("Please, Check Account and try Again!");	EndDialog(IDCANCEL); return;
	}
}

int CLoginDlg::CheckID(CString id)
{
	CRMToolApp *pApp = (CRMToolApp*)AfxGetApp();
	
	//IP 掘绢坷扁
//	char szHostName[40];
	//char szIp[16];
//	::gethostname(szHostName, sizeof(szHostName));
//	HOSTENT FAR* lphostent = ::gethostbyname(szHostName);
//	sprintf(pApp->m_szLocalAddress,"%s",inet_ntoa(*((struct in_addr*)lphostent->h_addr)));

	char str[ 0xff ];
	WCHAR query[ 0xff ];	
	
	sprintf(str,"UP_RM_LOGIN '%s'", id);
	//肯己屈 茄臂 -> 蜡聪内靛 茄臂 函券 
	g_pDb->KSCToUnicode(str,query);
	
	int ret = g_pDb->OpenRecord(query, &pApp->m_LogInfo, 1, (BYTE)TOTAL_DB); 

	if(ret == 0)
		return -1;		//绝绰 酒捞叼 
	else 
	{	
		//int temp = 0;
		if(strcmp(pApp->m_LogInfo.Password, m_szPassword) != 0)
			return -2;		//Password啊 撇覆

		/*
			temp++;
		if(!strcmp(pApp->m_LogInfo.IP, pApp->m_szLocalAddress))
			temp +=
		2;
		
		switch(temp)
		{
		case 1:		return -3;	break;		//ip 撇覆
		case 2:		return -2;	break;		//厚锅 撇覆 
		case 3:		return 1;	break;
		case 0:		return -4;	break;		//ip,厚锅 笛促 撇覆 
		}
		*/
	}

	return 1;

}

void CLoginDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	CDialog::OnCancel();
}

void CLoginDlg::OnLogin() 
{
	// TODO: Add your control notification handler code here
	OnEnterAtPassword();
	/*
	UpdateData(TRUE);
	switch(CheckID(m_szID))
	{
	case 1:		EndDialog(IDOK);					return;
	case -1:	MessageBox("Unregistered ID!");							break;
	case -2:	MessageBox("Invalid Password!");						break;
	case -3:	MessageBox("Unregistered IP Address!");					break;
	case -4:	MessageBox("Please, Check Account and try Again!");		break;
		
	}
	*/	
	//CDialog::OnCancel();	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -