<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>★卢培培★  ──  欢迎光临卢培培（goodname008）的BLOG</title><link>http://blog.csdn.net/goodname008/</link><description>人生真正的快乐，多在贫家茅舍，少在富室红楼。</description><dc:language>zh-CN</dc:language><lastUpdateTime>Mon, 02 Jan 2006 17:14:21 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>卢培培</dc:creator><title>利用HTTP协议实现文件下载的多线程断点续传</title><link>http://blog.csdn.net/goodname008/archive/2006/01/02/568668.aspx</link><pubDate>Mon, 02 Jan 2006 17:03:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2006/01/02/568668.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/568668.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2006/01/02/568668.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/568668.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=568668</trackback:ping><description>最近研究了一下关于文件下载的相关内容，觉得还是写些东西记下来比较好。起初只是想研究研究，但后来发现写个可重用性比较高的模块还是很有必要的，我想这也是大多数开发人员的习惯吧......&lt;img src ="http://blog.csdn.net/goodname008/aggbug/568668.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>将CMD的输入输出重定向到自己的进程</title><link>http://blog.csdn.net/goodname008/archive/2005/10/30/519646.aspx</link><pubDate>Sun, 30 Oct 2005 18:54:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2005/10/30/519646.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/519646.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2005/10/30/519646.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/519646.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=519646</trackback:ping><description>前段时间，CSDN VB版的一个网友问了一个如何取得进程句柄的问题，后来贴子中又引出另一个问题：如何将CMD的输入输出重定向到自己的进程？由于楼主提前结了贴子，所以我另开了一个贴子对这个问题作出了回答，两个原贴均可以在CSDN的VB版搜索到。现在我把代码记录在此，以飨更多的朋友。

&lt;img src ="http://blog.csdn.net/goodname008/aggbug/519646.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>跨进程实现在Tree中快速定位节点</title><link>http://blog.csdn.net/goodname008/archive/2005/04/30/369490.aspx</link><pubDate>Sat, 30 Apr 2005 17:47:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2005/04/30/369490.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/369490.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2005/04/30/369490.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/369490.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=369490</trackback:ping><description>前些日子写软件时，需要实现一个功能，就是在Tree中快速定位节点，比如注册表编辑器左边的Tree，只要给出Tree中的节点路径（以“\”分隔），就可以快速将树展开，并将当前节点定位到指定的节点。功能的实现并不难，但稍有些麻烦。原因在于，如果是本进程中的Tree，只要发消息就可以了，但如果是另外一个进程中的Tree，就要在那个进程中申请内存，将Tree节点的文字复制到这块内存，然后再把这块内存的数据复制到本进程的一块内存中，才能与指定的节点路径相比较。由于这个功能还有一些可一般化的东西，所以就写了一个DLL，只要给出Tree的句柄和节点路径，就可以展开这颗树并定位节点。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/369490.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>利用底层键盘钩子拦载任意按键（回调版）</title><link>http://blog.csdn.net/goodname008/archive/2005/01/18/258215.aspx</link><pubDate>Tue, 18 Jan 2005 17:00:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2005/01/18/258215.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/258215.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2005/01/18/258215.aspx#Feedback</comments><slash:comments>31</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/258215.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=258215</trackback:ping><description>    前段时间我曾经写过一篇《利用底层键盘钩子屏蔽任意按键》，并放到了我的blog上。这篇文章的题目中把“屏蔽”改成了“拦截”，显然要比以前的版本强一些了。对于以前写的那个DLL，有一个不够理想的地方，就是仅仅能实现屏蔽。如果想在屏蔽之前加入一些“小动作”，就只能修改DLL，在LowLevelKeyboardProc函数中添加代码，实现新的功能。但这样显然不够灵活，这样的DLL也不具备一般性了。所以我自然而然地想到了回调，Windows中有很多需要回调函数的API，我们当然也可以写出这样的API，这样做的好处就是可以给DLL调用程序留下足够的接口。此时，DLL就像一个阀门，我们不关心的按键消息就把它放过去，只把我们关心的按键消息拦截下来，然后进一步处理，而这些处理的代码就写在DLL调用程序的回调函数中，这样做是最理想不过的了。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/258215.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>用汇编写个文件分割器</title><link>http://blog.csdn.net/goodname008/archive/2004/12/18/220839.aspx</link><pubDate>Sat, 18 Dec 2004 16:27:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/12/18/220839.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/220839.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/12/18/220839.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/220839.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=220839</trackback:ping><description>今天在把宿舍机器上的东西往家里机器上腾的时候，无意中发现了一年多以前用汇编写的一个文件分割器。这一年过去了，一直没有用汇编，也忘得差不多了。再看这个以前自己用汇编写的小程序时，心里有一种莫名的感觉，于是想放到blog上纪念一下。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/220839.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>教育实习总结</title><link>http://blog.csdn.net/goodname008/archive/2004/11/05/169455.aspx</link><pubDate>Fri, 05 Nov 2004 21:51:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/11/05/169455.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/169455.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/11/05/169455.aspx#Feedback</comments><slash:comments>51</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/169455.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=169455</trackback:ping><description>紧张、美好的实习生活结束了，在这短短的一个月里，我和同学们以及带课老师建立了深厚的感情。临走之前，确实有些依依不舍，但是我知道，人生中这样的分离还会有很多次。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/169455.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>DYNAMIC、DYNCREATE、SERIAL三个宏的图示</title><link>http://blog.csdn.net/goodname008/archive/2004/09/25/116241.aspx</link><pubDate>Sat, 25 Sep 2004 01:21:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/09/25/116241.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/116241.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/09/25/116241.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/116241.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=116241</trackback:ping><description>DYNAMIC、DYNCREATE、SERIAL三个宏的图示&lt;img src ="http://blog.csdn.net/goodname008/aggbug/116241.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>MFC 4.21 类库结构图</title><link>http://blog.csdn.net/goodname008/archive/2004/09/19/109965.aspx</link><pubDate>Sun, 19 Sep 2004 23:29:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/09/19/109965.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/109965.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/09/19/109965.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/109965.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=109965</trackback:ping><description>MFC 4.21 类库结构图&lt;img src ="http://blog.csdn.net/goodname008/aggbug/109965.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>利用底层键盘钩子屏蔽任意按键</title><link>http://blog.csdn.net/goodname008/archive/2004/08/21/80827.aspx</link><pubDate>Sat, 21 Aug 2004 14:44:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/08/21/80827.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/80827.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/08/21/80827.aspx#Feedback</comments><slash:comments>41</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/80827.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=80827</trackback:ping><description>本文的重点在于底层键盘钩子的应用，前些天CSDN的VB版有人问如何实现屏蔽win键，说实话，这东西用VB也是可以做到的，只不过全局钩子的钩子函数必须写在标准dll中，而VB只能通过变通的方法做出标准dll，稍微有点麻烦，所以我索性用VC写了一个dll，这样VC、VB或Delphi等等都可以调用，而且我也留出了足够的接口，稍后就会看到。
&lt;img src ="http://blog.csdn.net/goodname008/aggbug/80827.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>VC无负担实现XP风格界面</title><link>http://blog.csdn.net/goodname008/archive/2004/08/20/80490.aspx</link><pubDate>Fri, 20 Aug 2004 23:34:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/08/20/80490.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/80490.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/08/20/80490.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/80490.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=80490</trackback:ping><description>关于让自己的程序界面实现XP风格这个问题，在网上的讨论很多，大多数的作法都是写一个.manifest文件，然后将文件名改一下。本文介绍的方法可以不依赖于这个.manifest的文件的存在。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/80490.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>利用LineDDA函数做简单动画</title><link>http://blog.csdn.net/goodname008/archive/2004/08/01/58034.aspx</link><pubDate>Sun, 01 Aug 2004 17:44:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/08/01/58034.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/58034.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/08/01/58034.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/58034.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=58034</trackback:ping><description>如果在VB中实现比较简单的动画效果，也许很多人会选用Timer控件，其实API函数中有一个LineDDA，用这个函数实现简单的动画效果还是比较不错的。因为是API函数，所以很一般化，因此很多语言都可以用它来实现简单的动画。

&lt;img src ="http://blog.csdn.net/goodname008/aggbug/58034.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>剖析VC++函数调用约定</title><link>http://blog.csdn.net/goodname008/archive/2004/07/24/50662.aspx</link><pubDate>Sat, 24 Jul 2004 15:39:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/07/24/50662.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/50662.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/07/24/50662.aspx#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/50662.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=50662</trackback:ping><description>Visual C/C++ 的编译器提供了几种函数调用约定，了解这些函数调用约定的含义及它们之间的区别可以帮助我们更好地调试程序。在这篇文章里，我就和大家共同探讨一些关于函数调用约定的内容。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/50662.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>Win32 函数原型</title><link>http://blog.csdn.net/goodname008/archive/2004/07/14/40958.aspx</link><pubDate>Wed, 14 Jul 2004 01:23:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/07/14/40958.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/40958.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/07/14/40958.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/40958.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=40958</trackback:ping><description>Win32函数原型分为普通、ANSI和Unicode三种。其实如果严格地说，并不能有普通这种分法，也就是只有ANSI和Unicode这两种。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/40958.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>用API播放音频及视频文件</title><link>http://blog.csdn.net/goodname008/archive/2004/07/13/40688.aspx</link><pubDate>Tue, 13 Jul 2004 18:05:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/07/13/40688.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/40688.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/07/13/40688.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/40688.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=40688</trackback:ping><description>如果想在Windows下播放音频或视频文件，可以使用API函数中的mciSendString实现，非常简单。&lt;img src ="http://blog.csdn.net/goodname008/aggbug/40688.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>卢培培</dc:creator><title>硬盘分区学问大，操作系统别乱装</title><link>http://blog.csdn.net/goodname008/archive/2004/07/12/39894.aspx</link><pubDate>Mon, 12 Jul 2004 20:08:00 GMT</pubDate><guid>http://blog.csdn.net/goodname008/archive/2004/07/12/39894.aspx</guid><wfw:comment>http://blog.csdn.net/goodname008/comments/39894.aspx</wfw:comment><comments>http://blog.csdn.net/goodname008/archive/2004/07/12/39894.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blog.csdn.net/goodname008/comments/commentRss/39894.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=39894</trackback:ping><description>这是很久以前我打算在班刊上投的稿，后来由于大家考试比较忙，那期班刊就没有出。因此里面有一些同学间对话的痕迹......&lt;img src ="http://blog.csdn.net/goodname008/aggbug/39894.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>