登录
首页 » VC++源码 » VC++ 6.0FreeBird软件源码 仿飞鸽传书,可聊天+传输文件

VC++ 6.0FreeBird软件源码 仿飞鸽传书,可聊天+传输文件

于 2023-08-31 发布 文件大小:647.24 kB
0 137
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0自写的FreeBird仿飞鸽传书,可聊天+传输文件程序源码,我耗费一个月上百度、参考网上代码,和不断调试出来的一个网络文件传输小软件。可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。   做这个小软件的目的不是为了给别人使用,而是想通过开发这么一个小小和软件,体会软件设计的过程和了解网络通信是个大概什么样的东西(这也是我摸索了好久,现在才彻底明白原来Socket通信是这么一回事的)。总而言之:目的是为了学习。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 静态分割窗口,实现窗口的任意切分
    VC++ 6.0 自定义SplitWndView函数,静态分割窗口,实现窗口的任意切分,本实例中将一个完整的VC++ Windows分隔成四个小窗口,类似于WEB开发中的iFrame框架,每个分栏框架都可以用鼠标拖动分隔区域的大小,为了区分源码中函数与实际分隔效果的查看,每个视图小空格中都有文字标注。   在一些综合性的信息管理系统中,有时候需要窗口分成区域来显示内容,本实例所演示的窗口分割,就是一个很好的例子。
    2022-11-16 09:35:03下载
    积分:1
  • VC++ 6.0创建带有文本指示的自定义进度条
    VC++ 6.0创建带有文本指示的自定义进度条,自己创建的带有文本的进度条:,   GetClientRect(&rectClient);//获取进度条窗口   CBrush brush;   brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));//获取系统画刷   dc.FillRect(&rectClient, &brush);//填充进度条窗口   VERIFY(brush.DeleteObject());//删除画刷   if (m_nCurrentPosition m_nUpper)//进度条没有运行   {    return;   }   brush.CreateSolidBrush(RGB(0, 0,255));//创建蓝色画刷   RECT rectFill;//定义填充区域   float fillwidh=(float)((float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower))*rectClient.right;   ::SetRect(&rectFill,    0,// 左上X坐标    0,//左上Y坐标    (int)fillwidh,//右下X坐标    rectClient.bottom+1);//右下Y坐标   dc.FillRect(&rectFill,&brush);//填充进度条区域   VERIFY(brush.DeleteObject());   CString percent;   percent.Format("已完成:%.0f%%", 100.0*(float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower));   dc.SetTextColor(RGB(255,0,0));//设置文本颜色   dc.SetBkMode(TRANSPARENT);//透明背景   dc.DrawText(percent, &rectClient, DT_VCENTER|DT_CENTER|DT_SINGLELINE);//显示文本信息
    2023-06-16 21:25:02下载
    积分:1
  • VC++ 创建WinExample和MFCExample窗口程序演示
    VC++ WinExample和MFCExample程序演示,是创建此两类程序的演示,一种是使用WINAPI的方式 创建程序窗口,另一种是采用MFC方式创建窗口,下面列举一上结使用WINAPI方式创建窗口的具体代码,完整代码请下载本源码。   // 创建窗口   hWnd = CreateWindow("HelloMsg",// 窗口类名    "我的窗口", // 窗口标题    WS_OVERLAPPEDWINDOW,// 窗口样式    CW_USEDEFAULT,// 窗口最初的x位置    CW_USEDEFAULT,// 窗口最初的y位置    CW_USEDEFAULT,// 窗口的宽度    CW_USEDEFAULT,// 窗口的高度    NULL,// 父窗口句柄    NULL,// 窗口菜单句柄    hInstance,// 应用程序实例句柄    NULL);// 创建窗口的参数窗口消息处理函数   LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)   {    switch (uMsg)    {    case WM_LBUTTONDOWN:// 鼠标左键按下消息    MessageBox(NULL, "欢迎进入Visual C++!", "问候", 0);    break;    case WM_DESTROY:// 窗口销毁消息    PostQuitMessage(0);    break;    default:    // 默认消息处理函数    return DefWindowProc(hWnd, uMsg, wParam, lParam);    }    return 0;   }
    2022-09-16 09:05:03下载
    积分:1
  • VC++ 使用滚动条和进度条进行范围设置
    VC++ 使用滚动条和进度条进行范围设置,实现滚动条与进度条的联动,当拖动滚动条时,进度条的进度会随着滚动条的位置变化而变化,适时显示进度状态。除了水平的滚动条外,右侧是一个垂直纵向的滚动条和进度条,具有同样的功能,很好的模拟了两者的联动。   编写代码时,可以这样定义滚动条和进度条的参数:   m_crlScrollH.SetScrollRange(0,100);//设置水平滚动范围   m_crlScrollV.SetScrollRange(0,100);//设置垂直滚动范围   m_crlScrollH.SetScrollPos(0);//设置水平滚动控件初始值   m_crlScrollV.SetScrollPos(0);//设置垂直滚动控件初始值   m_ctlProgressH.SetRange(0,100);//设置水平进度条的范围   m_ctlProgressV.SetRange(0,100);//设置垂直进度条的范围   m_ctlProgressH.SetPos(0);//设置水平进度条的初始位置   m_ctlProgressV.SetPos(0);//设置垂直进度条的初始位置   以上代码并不是完整的,完整代码请下载源码包。
    2022-04-27 16:24:44下载
    积分:1
  • VC++ 6.0 使用消息实现线程通信
    线程通信:使用消息实现线程通信,一个了解多线程与消息通信的例子,以下是实现的主要代码:   LRESULT CThreadCommunicationDlg::OnDisplayResult(WPARAM wParam,LPARAM lParam)   {    int nResult = (int)wParam;    SetDlgItemInt(IDC_STATIC_RESULT,nResult,FALSE);    return 0;   }   void CThreadCommunicationDlg::OnButtonCalculate()   {    m_pCalculateThread=    (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));    Sleep(200);    m_pCalculateThread->PostThreadMessage(WM_CALCULATE,m_nLastOperand,NULL);   }   完整的源代码请下载本源码包。
    2022-02-02 07:06:27下载
    积分:1
  • vc四国军棋服务端+客户端+
    很多人喜欢下四国军棋,不知道其中原理,本代码可以实现四国军棋功能,提供思路,拓展思维。
    2023-01-18 23:55:03下载
    积分:1
  • VC++ CFileException异常处理用法范例
    VC++ CFileException异常处理用法范例,   catch(CFileException* e)   {    switch(e->m_cause)    {    case CFileException::fileNotFound:    {    strMessage.Format("打开文件时发生异常(try/catch):    在指定位置没有找到文件%s ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::fileNotFound ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");    break;    }    case CFileException::invalidFile:    {    strMessage.Format("打开文件时发生异常(try/catch):    文件%无效 ",strFile);    AfxMessageBox(strMessage);    TRACE("即将删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");    //删除异常对象    e->Delete();    TRACE("成功删除捕获到的异常对象CFileException::invalidFile ");    AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");    break;    }    default:    break;    }   }
    2022-01-26 02:02:12下载
    积分:1
  • VC++ 使用CDib类实现显示与保存BMP文件
    VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:   m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像   if(m_hDIB==NULL)   {   AfxMessageBox("图像格式不正确!");// 提示出错   return FALSE;   }   SetDib();// 初始化DIB   if (m_hDIB == NULL)// 判断读取文件是否成功   {   AfxMessageBox("读取图像时出错");// 提示出错   return FALSE;// 返回FALSE   }   SetPathName(lpszPathName);// 设置文件名称   SetModifiedFlag(FALSE);// 初始化脏标记为FALSE   return TRUE;// 返回TRUE
    2022-02-26 00:19:37下载
    积分:1
  • VC 使用LineDDA画有节点的连线实例
    本源码主要演示使用VC ++中的LineDDA画有节点的连线,画出的效果可参见截图所示。   //画线   pDC->MoveTo(10,10);   pDC->LineTo(300,300);   //使用LineDDA沿线按一定间隔画“0”   //这个回调例程将在线上每个点处被调用   //实现注解:使用lpData传递用于绘图的CDC对象的引用   CDC* pDC;   pDC = (CDC*)lpData;      if( X % 20 ==0)   {    pDC->TextOut(X,Y,_T("0"));   }
    2022-02-19 23:13:45下载
    积分:1
  • VC++6.0 在工具栏中图标下面显示文本
    VC++6.0 在工具栏中图标下面显示文本,其实这个源码表达的功能,从事电脑的几乎每天都能看到,在Windows界面中,几乎每个图标都会有文字标签,本源码正是实现了在图标的下方添加文字标签,这样更人性化的指示出该图标的作用,本源码运行于VC6.0环境 ,编译运行后如下图所示的效果,面向VC初学者,这是个不错的基础范例。
    2023-06-03 00:00:03下载
    积分:1
  • 696518资源总数
  • 105559会员总数
  • 1今日下载