<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HeartHelp2013的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/HeartHelp2013</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HeartHelp2013]]></copyright><item><title><![CDATA[初试ActiveX控件]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913271</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913271</guid><author>HeartHelp2013</author><pubDate>Wed, 26 Oct 2011 13:44:00 +0800</pubDate><description><![CDATA[这几天看了关于COM技术的资料并看了孙鑫老师关于ActiveX控件的教程，自己就动手实践了一下。教程中用的是VC6.0实现的，我用的是vs2010，在实践的过程中也遇到了一些问题，最终都解决了。在这里将学习过程分享一下。
 ActiveX控件的底层实现是基于COM技术的。任何一个控件都有自身的属性、方法、事件。那么我们自己在开发ActiceX空间的时候，也可以为其添加属性...]]></description><category></category></item><item><title><![CDATA[进程间通信——命名管道和邮槽]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913267</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913267</guid><author>HeartHelp2013</author><pubDate>Wed, 19 Oct 2011 11:16:00 +0800</pubDate><description><![CDATA[前面介绍了进程间通信的两种方法：剪贴板和匿名管道。这两种进程间通信的方法只能在本地主机的进程之间通信。而匿名管道还限制通信的两进程之间必须有父子关系。在开发网络间不同进程之间相互通信的应用程序时，我们可以用命名管道和邮槽。这两种方法不仅支持本地主机通信也支持网间进程通信。下面详细介绍这两种方法：
一、命名管道
 将命名管道作为网络通信的方案时，他实际上建立了一个客户机/...]]></description><category></category></item><item><title><![CDATA[进程间通信——剪贴板和匿名管道]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913268</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913268</guid><author>HeartHelp2013</author><pubDate>Tue, 18 Oct 2011 23:43:00 +0800</pubDate><description><![CDATA[本地主机的不同进程之间以及网络间不同进程之间是如何通信的呢？下面将详细介绍进程间的通信。
 进程间通信常用的有以下几种方法：（1）剪贴板；（2）匿名管道；（3）命名管道；（4）邮槽。这四种方法又可以分为两大类，剪贴板和匿名管道只能在本地主机的各进程间通信，而命名管道和邮槽不仅可以在本地主机的各进程间通信也可以在网络中不同进程之间进行通信。本篇只介绍剪贴板和匿名管道。
一...]]></description><category></category></item><item><title><![CDATA[网络编程——基于消息的异步套接字编程]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913266</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913266</guid><author>HeartHelp2013</author><pubDate>Sun, 16 Oct 2011 23:06:00 +0800</pubDate><description><![CDATA[Windows套接字在两种模式下执行I/O操作，一种是阻塞模式，一种是非阻塞模式。在阻塞模式下，在I/O操作完成之前，执行I/O操作的Winsock函数会一直等待下去，不会立即返回程序，将控制权交回程序。在非阻塞模式下，Winsock函数都会立即返回。
 在阻塞模式下编程，我们虽然可以使用各种技术使程序顺利运行，例如使用多线程技术。但是如果使用阻塞模式，当某一线程一直等待...]]></description><category></category></item><item><title><![CDATA[网络编程——多线程技术实现网络聊天程序]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913265</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913265</guid><author>HeartHelp2013</author><pubDate>Sun, 16 Oct 2011 21:30:00 +0800</pubDate><description><![CDATA[最近学习了网络编程，在学习多线程技术后，就尝试着用多线程技术写了一个网络聊天程序。下面介绍一下具体的实现过程。
 既然是聊天程序，肯定要发送数据和接收数据，这里我新创建了一个线程来接收数据，用主线程来发送数据。同一个进程中的两个线程可以独立运行并相互交通信。因此可以实现数据的接收和发送。
 先建立一个基于对话框的应用程序，并在对话框上放置接收数据的编辑框、发送数据...]]></description><category></category></item><item><title><![CDATA[网络编程——线程同步和线程死锁]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913263</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913263</guid><author>HeartHelp2013</author><pubDate>Sat, 15 Oct 2011 12:00:00 +0800</pubDate><description><![CDATA[在上一篇《网络编程——多线程技术》中已经说过，在一如多线程技术之后，在一个进程中可以创建多个线程，这多个线程在需要访问同一个资源时，肯定会发生争用现象，在争夺资源的过程中，假如第一个线程先访问这一资源，并对其做了修改，在这个线程没有执行完毕但时间片到了，第二个线程又访问该资源，就可能得到错误的结果。这是非常严重的问题。为了解决这一问题，引入了进程同步的概念。实现线程同步，可以有多...]]></description><category></category></item><item><title><![CDATA[网络编程——多线程技术]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913264</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913264</guid><author>HeartHelp2013</author><pubDate>Fri, 14 Oct 2011 13:08:00 +0800</pubDate><description><![CDATA[多线程共存于应用程序中是现代操作系统中的基本特征和重要标志。为了提高程序的运行效率，在操作系统中提出了进程和线程的概念，在一个进程中可以包含多个线程，进程作为资源分配的基本单位，线程作为独立运行和独立调度的基本单位。既然提到了进程和线程，就涉及到进程（线程）的并发执行以及互斥对象的访问。这些在网络编程中都是十分重要的知识点。具体操作系统的知识就不做介绍了，下面通过实例详细介绍网络...]]></description><category></category></item><item><title><![CDATA[网络编程——字符界面的网络聊天程序]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913262</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913262</guid><author>HeartHelp2013</author><pubDate>Thu, 13 Oct 2011 23:33:00 +0800</pubDate><description><![CDATA[上一次介绍了基于TCP的网络应用程序和基于UDP的网络应用程序的设计方法，下面通过一个实例介绍网络编程的实际运用。下面介绍一下字符界面的网络聊天程序的实现。
 字符界面的网络聊天程序是网络编程的实际应用，具体的实现方法在前面已经详细介绍了TCP和UDP的网络程序的实现步骤。该程序的实现也分为服务器和客户端设计。先附上服务器端代码和客户端代码：
/************...]]></description><category></category></item><item><title><![CDATA[网络编程——基于TCP的程序设计和基于UDP的程序设计]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913261</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913261</guid><author>HeartHelp2013</author><pubDate>Wed, 12 Oct 2011 15:13:00 +0800</pubDate><description><![CDATA[网络编程可分为基于TCP的网络程序设计和基于UDP的网络程序设计。TCP是基于字节流的面向连接的，常用于可靠的网络传输，而UDP是基于数据报的无连接的网络传输，常用语即时通信。
 无论是基于TCP或者是基于UDP的程序设计，它都是有固定的步骤可循的。只要理解这些步骤，实现起来也是比较简单的。下面将介绍基于TCP和UDP的网络编程的详细步骤以及实现实例。
 在介绍网...]]></description><category></category></item><item><title><![CDATA[Win.ini文件和注册表编程]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913259</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913259</guid><author>HeartHelp2013</author><pubDate>Fri, 07 Oct 2011 14:23:00 +0800</pubDate><description><![CDATA[应用程序的配置信息可以放在注册表文件中，但是在以前的16位操作系统下，配置信息放在Win.ini文件中。下面介绍一下Win.ini文件的读写方法和注册表的编程。
Win.ini文件的读写
PlatForm SDK的WriteProfileString（）函数可以写入一个字符串到Win.ini文件的制定段中
PlatForm SDK的GetProfileString（）函数可...]]></description><category></category></item><item><title><![CDATA[关于文件的读写操作以及文件的打开和保存]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913260</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913260</guid><author>HeartHelp2013</author><pubDate>Thu, 06 Oct 2011 18:21:00 +0800</pubDate><description><![CDATA[通过近来的学习，总结一下关于文件的读写操作以及文件的打开和保存的方法。
一、文件的读写操作：
（1）C语言对文件的读写操作
在C语言中，对文件的读写操作是用FILE结构体和常用的对文件操作的函数实现的，下面总结一下C语言中对文件操作的常用函数：
fopen() 打开以文件名指定的文件
fwrite() 写文件
fread() 读文件
fseek() 移动文件的指针...]]></description><category></category></item><item><title><![CDATA[VS2010模仿QQ2011登陆界面]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913257</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913257</guid><author>HeartHelp2013</author><pubDate>Sun, 25 Sep 2011 21:01:00 +0800</pubDate><description><![CDATA[模仿QQ2011的登陆界面有很多种方法，下面我介绍一下我自己的设计方法以及在设计过程中所用到的技术关键点：
附截图两张：


登陆界面中用到的技术关键点有：


一、背景的绘制
 QQ2011登陆界面的背景分为两部分，上半部分用一个Picture Control（图片控件），向里面可视化的添加一幅位图就ok了。下半部分在OnInitDialog()函数中调用Se...]]></description><category></category></item><item><title><![CDATA[修改框架程序的外观，工具栏、状态栏编程]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913258</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913258</guid><author>HeartHelp2013</author><pubDate>Thu, 15 Sep 2011 22:35:00 +0800</pubDate><description><![CDATA[通过MFC APPWizard生成的窗口，我们可以根据需要修改程序的外观，并对工具栏和状态栏进行编程。
一、修改框架程序的外观：
 MFC APPWizard生成的框架窗口，我们可以在需要的时候随时修改它们，首先我们修改框架窗口的类型和大小：
（1）在窗口创建之前修改窗口的类型和大小：
 窗口创建之前，会调用PreCreateWindow（）函数，我们可以在框...]]></description><category></category></item><item><title><![CDATA[Windows程序设计 对话框控件访问的七种方法（3）]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913256</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913256</guid><author>HeartHelp2013</author><pubDate>Tue, 13 Sep 2011 14:18:00 +0800</pubDate><description><![CDATA[在对话框控件访问的七种方法（1）、（2）中介绍了对话框空间访问的第一类和第二类方法，下面介绍对话框控件访问的第三类方法：
在Windows程序设计中，基于对话框的程序设计，对对话框上控件的访问有多种方法。在这里我总结七种方法，但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法：
 上图为一个小的对话框应用程序的示例程序，实现的功能是：分别在Num...]]></description><category></category></item><item><title><![CDATA[Windows程序设计 对话框控件访问的七种方法（2）]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913255</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913255</guid><author>HeartHelp2013</author><pubDate>Tue, 13 Sep 2011 13:47:00 +0800</pubDate><description><![CDATA[在对话框控件访问的七种方法（1）中介绍了对话框空间访问的第一类方法，下面介绍对话框控件访问的第二类方法：
在Windows程序设计中，基于对话框的程序设计，对对话框上控件的访问有多种方法。在这里我总结七种方法，但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法：
 上图为一个小的对话框应用程序的示例程序，实现的功能是：分别在Number1...]]></description><category></category></item><item><title><![CDATA[Windows程序设计 访问对话框控件的七种方法（1）]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913253</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913253</guid><author>HeartHelp2013</author><pubDate>Thu, 08 Sep 2011 21:34:00 +0800</pubDate><description><![CDATA[在Windows程序设计中，基于对话框的程序设计，对对话框上控件的访问有多种方法。在这里我总结七种方法，但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法：
 上图为一个小的对话框应用程序的示例程序，实现的功能是：分别在Number1和Number2所标示的编辑框中输入数字，当点击Add按钮时，将Number1和Number2所标示的编辑...]]></description><category></category></item><item><title><![CDATA[C++变量的可见性问题和多态性]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913254</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913254</guid><author>HeartHelp2013</author><pubDate>Mon, 05 Sep 2011 15:41:00 +0800</pubDate><description><![CDATA[1.变量的可见性问题是一个重要的、常见的但是初学者容易混淆的一个问题。先看下面的示例代码：
Class Point
{
  public:
  int x;
  int y
  point(int a,int b)
    {
      x=a;
      y=b;
    }

  void OutPut()
    {
      cout&lt;x=...]]></description><category></category></item><item><title><![CDATA[Windows程序的内部运行机制]]></title><link>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913252</link><guid>https://blog.youkuaiyun.com/HeartHelp2013/article/details/101913252</guid><author>HeartHelp2013</author><pubDate>Sun, 04 Sep 2011 14:51:00 +0800</pubDate><description><![CDATA[Windwos程序都是基于消息的，系统为每个应用程序都会分配一个消息队列。应用程序的所有操作都会通知操作系统，操作系统把应用程序所要完成的操作以消息的形式发送给消息队列，应用程序会调用GetMessage（）函数从消息队列中读出消息（如：键盘按下，鼠标单击），然后通知操作系统做出相应的反应。
1. WinMain（）函数是Windows程序的入口函数，所以 WinMain（...]]></description><category></category></item></channel></rss>