<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jacksonfan的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jacksonfan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jacksonfan]]></copyright><item><title><![CDATA[编写自己的CMFCEditBrowseCtrl]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/51184880</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/51184880</guid><author>jacksonfan</author><pubDate>Mon, 18 Apr 2016 23:52:04 +0800</pubDate><description><![CDATA[在Visual Studio 2010和Visual Studio 2008 SP1中，微软采用了BCG库对应用程序界面进行美化，其中CMFCEditBrowseCtrl控件可以实现在Edit控件中浏览打开文件的功能。

但是，问题出现了，该控件默认的打开文件类型是所有文件，要如何才能打开自己指定的文件类型呢？这时就需要编写自己的CMFCEditBrowseCtrl类。

在release]]></description><category></category></item><item><title><![CDATA[MFC中CEdit判断空行]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/50367040</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/50367040</guid><author>jacksonfan</author><pubDate>Mon, 21 Dec 2015 00:12:58 +0800</pubDate><description><![CDATA[MFC中CEdit多行情况下，调用GetLine()时，发现老是后面跟有乱码。即使你把str初始化也是如此。
对于采用GetLine（）调用，其函数说明有2种。
1.int GetLine(
   int nIndex,
   LPTSTR lpszBuffer 
) const;
2.int GetLine(
   int nIndex,
   LPTSTR lpszBuffer,
   i]]></description><category></category></item><item><title><![CDATA[vc++实现http下载的通用类]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/47660259</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/47660259</guid><author>jacksonfan</author><pubDate>Fri, 14 Aug 2015 13:08:03 +0800</pubDate><description><![CDATA[// DownloadHttp.cpp: implementation of the CDownloadHttp class.

//

//////////////////////////////////////////////////////////////////////




#include "stdafx.h"

#include "downtest.h"
]]></description><category></category></item><item><title><![CDATA[DLL之多线程]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/47252971</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/47252971</guid><author>jacksonfan</author><pubDate>Mon, 03 Aug 2015 10:44:26 +0800</pubDate><description><![CDATA[动态连接库有其自身的优点,如节省内存(例如，多个应用程序可以共享一个DLL文件，真正实现了资源"共享"，大大缩小了应用程序的执行代码，有效地利用了内存，而且DLL文件作为一个单独的程序模块，封装性、独立性好，有利于提高软件开发和维护的效率。)、支持多语种等功能，而且，当DLL中的函数改变后，只要不是参数的改变，调用函数并不需要重新编译。
Non-MFC DLL:指的是不用MFC的类库结构，直接用]]></description><category></category></item><item><title><![CDATA[DllMain和多线程死锁]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/47252921</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/47252921</guid><author>jacksonfan</author><pubDate>Mon, 03 Aug 2015 10:43:08 +0800</pubDate><description><![CDATA[估计很多人都知道装载DLL过程中的多线程死锁是因为DllMain的顺序调用规则，但是很少人了解卸载DLL过程中的多线程死锁也是由于同样的原因。例如，如果一个DLL的DllMain的代码写成下面的形式，且进程中有至少一个DLL的DllMain没有调用DisableThreadLibraryCalls函数的话，那么卸载该DLL过程中就会因为DllMain的顺序操作特性带来DLL内部线程没有完全退出的错]]></description><category></category></item><item><title><![CDATA[C语言实现的一个简单的HTTP程序]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/47104377</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/47104377</guid><author>jacksonfan</author><pubDate>Tue, 28 Jul 2015 13:54:58 +0800</pubDate><description><![CDATA[以下是参考中讲解web应用http协议的时候，实现的一个简单的http程序，包含一个服务器和一个客户端。

先贴上客户端的程序:

 









/*************************************************************************

 *


 *
 Copyright (c) 2012]]></description><category></category></item><item><title><![CDATA[向PE中注入代码]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/47073963</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/47073963</guid><author>jacksonfan</author><pubDate>Sun, 26 Jul 2015 23:28:21 +0800</pubDate><description><![CDATA[This article demonstrates five steps to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling source code. 
这篇文章介绍了在不重编译源码的前提下，怎样通过5个步骤把你的代码注入PE格式的文件（EXE, DLL, OCX,..]]></description><category></category></item><item><title><![CDATA[VC 实现文件与应用程序关联]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46943769</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46943769</guid><author>jacksonfan</author><pubDate>Sat, 18 Jul 2015 16:40:09 +0800</pubDate><description><![CDATA[日常工作中，doc文件直接双击后，就能启动word软件，并读取该文档的内容在软件中显示，这都得益于注册表的配置，我们的软件也需要实现这样的功能，该如何写注册表以及写入哪些内容呢？下面的两个函数就能实现这个功能。CheckFileRelation是检查注册表中是否已经将我们期待的文件格式与相应软件关联了；RegisterFileRelation是直接往注册表中写入相关的key和value。

]]></description><category></category></item><item><title><![CDATA[VC 仿QQ窗口靠边自动收缩隐藏效果]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46894611</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46894611</guid><author>jacksonfan</author><pubDate>Wed, 15 Jul 2015 15:59:48 +0800</pubDate><description><![CDATA[一、观察



模仿前最重要的一步就是观察，经过半天对QQ的摆弄和摸索，总结出了以下一些特点：

1、窗口开始粘附时,检测的是鼠标坐标与桌面边界的距离，特别地，粘附在下面的时候，检测的是与任务栏的距离；

2、在向上移动窗口时，窗口边界永远不会超出桌面上面边界；

3、窗口是个 TopMost 风格；

4、当窗口粘附在上面、左边或右边并显示时，你把鼠标移动到最顶端，光标变]]></description><category></category></item><item><title><![CDATA[开发兼容Win7的Ms Agent程序]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46844477</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46844477</guid><author>jacksonfan</author><pubDate>Sat, 11 Jul 2015 20:51:47 +0800</pubDate><description><![CDATA[有时为了提高客户体验，往往会在程序中增加帮助系统，当年OfficeXP提供了一种叫助手精灵的帮助插件，一个小老头来帮助用户使用Office。现在Win7了，直接使用以往的Ms Agent来开发老头做使用帮助的话，会出现不兼容的情况（即使安装了MS的兼容包，老头也不是透明的，会有粉色的背景。）。当然，也可以选择自己用不规则窗体开发一个精灵老头，只不过种类繁多的魔法动作就难以实现了。不过还好，国外有人]]></description><category></category></item><item><title><![CDATA[VC++多线程编程]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46680831</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46680831</guid><author>jacksonfan</author><pubDate>Mon, 29 Jun 2015 12:32:04 +0800</pubDate><description><![CDATA[VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.

一、问题的提出

编写一个耗时的单线程程序：

　　新建一个基于对话框的应用程序SingleThread，在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮，ID为IDC_SLEEP_SIX_SECOND，标题为




“延时6秒”，添加按钮的响应函数，代码如下：




vo]]></description><category></category></item><item><title><![CDATA[VC实现系统热键激活后台服务程序]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46661219</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46661219</guid><author>jacksonfan</author><pubDate>Sat, 27 Jun 2015 14:31:50 +0800</pubDate><description><![CDATA[摘要： 本文给出了一种通过设置系统热键来呼出在系统后台隐藏运行的服务程序的一种方法，通过这种方法，可以实现后台服务程序在必要的时候同用户的交互设置。

　　引言

　　通常情况下，用于后台监控的服务程序（Service）是没有界面的，甚至也没有提供任务栏图标，因此绝大多数情况下服务程序是无法同用户进行交互的。但是在实际应用中，这些服务程序虽然绝大多数时间是在后台运行，但是在某些必要的情况下]]></description><category></category></item><item><title><![CDATA[VC创建启动即隐藏的对话框]]></title><link>https://blog.youkuaiyun.com/jacksonfan/article/details/46660797</link><guid>https://blog.youkuaiyun.com/jacksonfan/article/details/46660797</guid><author>jacksonfan</author><pubDate>Sat, 27 Jun 2015 13:25:14 +0800</pubDate><description><![CDATA[有很多应用程序要求一起动就隐藏起来，这些程序多作为后台程序运行，希望不影响其他 窗口，往往只在托盘区显示一个图标。这些程序通常都是对话框程序，而对话框在初始化的过程上与SDI、MDI的初始化是不同的，对话框只需要 DoModule或者是CreateDialog等等对话框函数调用一次便可，SDI、MDI则要好几步才行。这样看来，对话框在使用方法上面是隐藏了不 少细节的，其中就没有SDI、MDI所要求]]></description><category></category></item></channel></rss>