文章作者:恶猫[E.S.T](EvilCat[E.S.T])
信息来源:邪恶八进制 中国
用mfc实现的一个简单的聊天工具,聊天双方需要知道对方IP地址。
在VC6.0下编译通过。下面的这个附件是源码:
部分代码如下:
复制内容到剪贴板
代码:
/*
* Copyright (c) 2005,邪恶八进制 中国
* All rights reserved.
* 当前版本: 1.0
* 作 者: 恶猫[E.S.T](EvilCat[E.S.T])
* 完成日期: 2005年1月21日
*/
// Send.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "Send.h"
#include "SendDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSendApp
BEGIN_MESSAGE_MAP(CSendApp, CWinApp)
//{{AFX_MSG_MAP(CSendApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSendApp construction
CSendApp::CSendApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CSendApp object
CSendApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CSendApp initialization
BOOL CSendApp::InitInstance()
{
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CSendDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}