📄 regwizard.cpp
字号:
// RegWizard.cpp : implementation file
//
#include "stdafx.h"
#include "wbQQClient.h"
#include "RegWizard.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRegWizard
IMPLEMENT_DYNAMIC(CRegWizard, CPropertySheet)
CRegWizard::CRegWizard(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
}
CRegWizard::CRegWizard(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
}
CRegWizard::~CRegWizard()
{
}
BEGIN_MESSAGE_MAP(CRegWizard, CPropertySheet)
//{{AFX_MSG_MAP(CRegWizard)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRegWizard message handlers
CRegWizard::CRegWizard()
{
SetWizardMode();
AddPage(&BasicDlg);
AddPage(&MiscDlg);
AddPage(&NetSetDlg);
}
bool CRegWizard::Register()
{
InitNet();
CString sex;
if (BasicDlg.m_sex.GetCurSel() == 0)
{
sex = "男";
}
else
{
if (BasicDlg.m_sex.GetCurSel() == 1)
{
sex = "女";
}
else
{
sex = "阴阳";
}
}
res = (BasicDlg.m_pic.GetCurSel() + 138); //138是图标IDI_ICON1的值
char sendText[400];
char recvText[100];
sprintf(sendText, "Reg:%s,%s,%s,%s,%s,%s,%s,%d,%s",
BasicDlg.m_strUserName, BasicDlg.m_nAge, sex, BasicDlg.m_strPassWd,
MiscDlg.m_strTruName, MiscDlg.m_strCity, MiscDlg.m_strEmail, res, MiscDlg.m_strTel);
numsnt = send(destSocket, sendText, strlen(sendText) + 1, 0);
if (numsnt != (int)strlen(sendText) + 1)
{
MessageBox("ERROR: Connection terminated!", "闻博QQ", MB_OK);
status = closesocket(destSocket);
if (status == SOCKET_ERROR)
{
MessageBox("ERROR: Closesocket unsuccessful!", "闻博QQ", MB_OK);
}
status = WSACleanup();
if (status == SOCKET_ERROR)
{
MessageBox("ERROR: WSACleanup unsuccessful!", "闻博QQ", MB_OK);
}
return false;
}
numrcv = recv(destSocket, recvText, 100, 0);
if ((numrcv == 0) || (numrcv == SOCKET_ERROR))
{
MessageBox("ERROR: Connection terminated!", "闻博QQ", MB_OK);
status = closesocket(destSocket);
if (status == SOCKET_ERROR)
{
MessageBox("ERROR: Closesocket unsuccessful!", "闻博QQ", MB_OK);
}
status = WSACleanup();
if (status == SOCKET_ERROR)
{
MessageBox("ERROR: WSACleanup unsuccessful!", "闻博QQ", MB_OK);
}
return false;
}
recvText[numrcv] = '\0';
if (strcmp(recvText, "success!") == 0)
{
return true;
}
if (strcmp(recvText, "exist!") == 0)
{
MessageBox("你申请的用户名已经存在!", "闻博QQ", MB_OK);
}
closesocket(destSocket);
return false;
}
bool CRegWizard::InitNet()
{
status = WSAStartup(MAKEWORD(1, 1), &Data);
if (status != 0)
{
MessageBox("ERROR:WSAStartup unsccessful!", "闻博QQ", MB_OK);
}
destAddr = inet_addr(NetSetDlg.m_IPAddr);
memcpy(&destSockAddr.sin_addr, &destAddr, sizeof(destAddr));
destSockAddr.sin_port = htons(NetSetDlg.m_nPort);
destSockAddr.sin_family = AF_INET;
destSocket = socket(AF_INET, SOCK_STREAM, 0);
if (destSocket == INVALID_SOCKET)
{
MessageBox("ERROR:socket unsccessful!", "闻博QQ", MB_OK);
status = WSACleanup();
if (status == SOCKET_ERROR)
{
MessageBox("ERROR:WSACleanup unsccessful!", "闻博QQ", MB_OK);
}
return false;
}
status = connect(destSocket, (LPSOCKADDR)&destSockAddr, sizeof(destSockAddr));
if (status == SOCKET_ERROR)
{
MessageBox("ERROR:connect unsccessful!", "闻博QQ", MB_OK);
status = closesocket(destSocket);
if (status == SOCKET_ERROR)
{
MessageBox("ERROR:closesocket unsccessful!", "闻博QQ", MB_OK);
}
status = WSACleanup();
if (status == SOCKET_ERROR)
{
MessageBox("ERROR:WSACleanup unsccessful!", "闻博QQ", MB_OK);
}
return false;
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -