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

📄 regnewusrdlg.cpp

📁 聊天程序
💻 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 + -