📄 regnewusrdlg.cpp
字号:
// RegNewUsrDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MICQWin32x.h"
#include "RegNewUsrDlg.h"
#include "MICQComponents.h"
#include "micq.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRegNewUsrDlg dialog
CRegNewUsrDlg::CRegNewUsrDlg(CWnd* pParent /*=NULL*/)
: CDialog(CRegNewUsrDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CRegNewUsrDlg)
m_cnf_pswd = _T("");
//}}AFX_DATA_INIT
}
void CRegNewUsrDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRegNewUsrDlg)
DDX_Text(pDX, IDC_CNF_PASSWORD, m_cnf_pswd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRegNewUsrDlg, CDialog)
//{{AFX_MSG_MAP(CRegNewUsrDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRegNewUsrDlg message handlers
void CRegNewUsrDlg::OnOK()
{
// TODO: Add extra validation here
char* passwd;
CDialog::OnOK();
if (m_cnf_pswd == pwd) {
passwd=(char *) malloc (sizeof(char)*pwd.GetLength());
for (int i=0; i<pwd.GetLength(); i++) {
passwd[i]=pwd[i];
}
passwd[i]='\0';
SOK_T sok;
srv_net_icq_pak pak;
int s;
struct timeval tv;
fd_set readfds;
WSADATA wsaData;
i = WSAStartup( 0x0101, &wsaData );
if ( i != 0 ) {
perror("Sorry, can't initialize Windows Sockets...");
exit(1);
}
// M_print( "\nCreating Connection...\n");
sok = Connect_Remote( server, remote_port, STDERR );
if ( ( sok == -1 ) || ( sok == 0 ) )
{
M_print( "Couldn't establish connection\n" );
exit( 1 );
}
M_print( "Sending Request...\n" );
reg_new_user( sok, passwd );
for ( ; ; )
{
tv.tv_sec = 0;
tv.tv_usec = 100000;
FD_ZERO(&readfds);
FD_SET(sok, &readfds);
/* don't care about writefds and exceptfds: */
select(sok+1, &readfds, NULL, NULL, &tv);
// M_print( "Waiting for response....\n" );
if (FD_ISSET(sok, &readfds))
{
s = SOCKREAD( sok, &pak.head.ver, sizeof( pak ) - 2 );
if ( Chars_2_Word( pak.head.cmd ) == SRV_NEW_UIN )
{
UIN = Chars_2_DW( pak.head.UIN );
M_print( "\nYour new UIN is %s%ld%s!\n",SERVCOL, UIN, NOCOL );
return;
}
else
{
/* Hex_Dump( &pak.head.ver, s );*/
}
}
reg_new_user( sok, passwd );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -