<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[johns78的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/johns78</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; johns78]]></copyright><item><title><![CDATA[GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/6687909</link><guid>https://blog.youkuaiyun.com/johns78/article/details/6687909</guid><author>johns78</author><pubDate>Mon, 15 Aug 2011 11:27:54 +0800</pubDate><description><![CDATA[注：转自http://kongjian.baidu.com/corylus/blog/item/2d6422f300229356342acc74.html

有关于endia参考上一篇。

问题一： 
使用Windows记事本的“另存为”，可以在GBK、Unicode、]]></description><category></category></item><item><title><![CDATA[绘制NC AREA]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5629091</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5629091</guid><author>johns78</author><pubDate>Thu, 27 May 2010 20:25:00 +0800</pubDate><description><![CDATA[	CDC* pDC = GetWindowDC();	CRgn rgnNC, rgnClient, rgnWindow;	rgnNC.CreateRectRgn(0, 0, 0, 0);	CRect rcWnd;	GetWindowRect(rcWnd);	CRect rcClient;	GetClientRect(&rcClient);	OffsetRect(&r]]></description><category></category></item><item><title><![CDATA[VC++加速键的加入方法 ]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5374439</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5374439</guid><author>johns78</author><pubDate>Fri, 12 Mar 2010 16:09:00 +0800</pubDate><description><![CDATA[一种是直接与菜单项关联的加速键          另一种就是自定义的加速键.  第一种: (如果是基于对话框的工程,我们先添加菜单和加速键资源,然后右击主对话框属性添加菜单)首先在资源文件Accelerator中添加快捷键资源 ID选择你要关联菜单项的名称 然后再设置你的快捷键.什么?下一步?在.h文件中加入一个    HACCEL   hAccel;变量 然后在OnInitDialog或]]></description><category></category></item><item><title><![CDATA[ScrollBar的消息处理]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5306209</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5306209</guid><author>johns78</author><pubDate>Thu, 11 Feb 2010 11:28:00 +0800</pubDate><description><![CDATA[ScrollBar的消息处理ScrollBar分成窗口的ScrollBar，和单独的ScrollBar两种，处理方式有所不同，但差别不大。如果是窗口的ScrollBar，OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)中的pScrollBar为NULL，要用GetScrollLimit(SB_VERT);如果是]]></description><category></category></item><item><title><![CDATA[用msxml写xml文件]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5269393</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5269393</guid><author>johns78</author><pubDate>Fri, 29 Jan 2010 14:57:00 +0800</pubDate><description><![CDATA[写xml文件1.	//Create the XMLMSXML::IXMLDOMDocument2Ptr pXMLDoc;	HRESULT hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument40));Verify(pXMLDoc->loadXML(_T("")) == VARIANT_FALSE)));//为xml最顶层的结点2.	/]]></description><category></category></item><item><title><![CDATA[用MSXML读XML文件精华]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5269019</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5269019</guid><author>johns78</author><pubDate>Fri, 29 Jan 2010 13:56:00 +0800</pubDate><description><![CDATA[XML的读法：1.CoInitialize(NULL)2.IXMLDOMDocument *pDoc;CoCreateInstance(CLSID_DOMDocument,NULL,CLSCTX_INPROC_SERVER,IID_IXMLDOMDocument,reinterpret_cast&pDoc)));3.CComVariant vFile(strFileName);]]></description><category></category></item><item><title><![CDATA[vc使用msxml解析xml文档]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5256976</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5256976</guid><author>johns78</author><pubDate>Tue, 26 Jan 2010 10:37:00 +0800</pubDate><description><![CDATA[  vc使用msxml解析xml文档,例子代码          【字体：小 大】      vc使用msxml解析xml文档,例子代码      作者：佚名    文章来源：不详    点击数：    更新时间：2007-7-1          现在XML文档应用的方面特别的多.      我把以前写过的一个例子帖出来,以备以后使用.      ]]></description><category></category></item><item><title><![CDATA[BO2K的那个拷贝SAM文件的方法]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5224950</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5224950</guid><author>johns78</author><pubDate>Fri, 22 Jan 2010 16:51:00 +0800</pubDate><description><![CDATA[有些注册表的地方是不能修改的，你的这个不知道是不是权限问题。你可以参考一下BO2K的那个拷贝SAM文件的方法，他是更改了注册表以后实现的。如果还是不行看看这个有没有帮助： /* su切换用户 * 2004/12/28 1.0,发现Bingle的wsu是假冒令牌,权限并没有真正设置. * 2004/12/29 2.0,真正实现模拟用户令牌的动作. * 2004/12/29 3.0,即使帐号禁止也可以]]></description><category></category></item><item><title><![CDATA[人生十大逻辑]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/5189005</link><guid>https://blog.youkuaiyun.com/johns78/article/details/5189005</guid><author>johns78</author><pubDate>Thu, 14 Jan 2010 11:07:00 +0800</pubDate><description><![CDATA[1、鸟笼逻辑 　　挂一个漂亮的鸟笼在房间里最显眼的地方，过不了几天，主人一定会做出下面两个选择之一：把鸟笼扔掉，或者买一只鸟回来放在鸟笼里。这就是鸟笼逻辑。过程很简单，设想你是这房间的主人，只要有人走进房间，看到鸟笼，就会忍不住问你：“鸟呢？是不是死了？”当你回答：“我从来都没有养过鸟。”人们会问：“那么，你要一个鸟笼干什么？”最后你不得不在两个选择中二选一，因为这比无休止的解释要容易得多]]></description><category></category></item><item><title><![CDATA[VARIANT安全数组的用法]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/4913949</link><guid>https://blog.youkuaiyun.com/johns78/article/details/4913949</guid><author>johns78</author><pubDate>Tue, 01 Dec 2009 13:30:00 +0800</pubDate><description><![CDATA[VARIANT valueList ;	SAFEARRAY *psaResult = valueList.parray;	VARTYPE	vt = VT_EMPTY;	SafeArrayGetVartype(psaResult, &vt);	if ( vt != VT_UNKNOWN) return S_FAIL;	hr = SafeArrayGetLBound(psaResu]]></description><category></category></item><item><title><![CDATA[动态链接到MFC的DLL ]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/4363356</link><guid>https://blog.youkuaiyun.com/johns78/article/details/4363356</guid><author>johns78</author><pubDate>Mon, 20 Jul 2009 12:26:00 +0800</pubDate><description><![CDATA[2、动态链接到MFC的DLL     在讨论关于动态链接到MFC的DLL的模块状态问题之前，先来看一个例子。本例可以通过如下步骤来完成： 1）在VC菜单中File->New新建一个命名为DLLShared的MFC AppWizard的工程，下一步选择Regular DLL using shared MFC DLL。 2）在工程中添加一个对话框资源，其ID为：]]></description><category></category></item><item><title><![CDATA[在DLL中使用资源(对话框) ]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/4353229</link><guid>https://blog.youkuaiyun.com/johns78/article/details/4353229</guid><author>johns78</author><pubDate>Thu, 16 Jul 2009 12:16:00 +0800</pubDate><description><![CDATA[在DLL中使用资源(对话框) 2007-09-25 15:49:27 Win32 DLL只需要在DLL中添加对话框资源，而且可以在对话框上面设置你所需要的控件。然后使用DialogBox（创建模态对话框）或者CreateDialog（创建非模态对话框，记得用ShowWindow显示）这两个函数（或相同作用的其它函数）来创建对话框，并定义自己的对话框回调函数处理对话框收到的消息。]]></description><category></category></item><item><title><![CDATA[Visual C++ 编译器选项 (增加 .obj 文件中的节数量)]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3986711</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3986711</guid><author>johns78</author><pubDate>Fri, 13 Mar 2009 10:49:00 +0800</pubDate><description><![CDATA[ Visual C++ 编译器选项/bigobj（增加 .obj 文件中的节数量） /bigobj 增加对象文件可包含的节数。/bigobj 备注 默认情况下，对象文件最多可存放 65,536 (2^16) 个可寻址的节。/bigobj 可将该地址容量增加至 4,294,967,296 (2^32)。大多数模块将从]]></description><category></category></item><item><title><![CDATA[C++中的数组和局部静态对象 ]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3982971</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3982971</guid><author>johns78</author><pubDate>Thu, 12 Mar 2009 09:55:00 +0800</pubDate><description><![CDATA[ C++中的数组和局部静态对象 [转帖]正像以前我说过的，我已经不下五次“以为”我理解数组了，然而今天又一次发现自己无知。     初学C的时候我把数组当成指针看。明白了一些实现机制后，我开始把数组当成一个特殊的变量； 我开始察看汇编剖析原理，理解逐步深入。 可是，明白得越多，就会发现越多的特例。 最终 —— 我陷入了看似任意且繁杂的规则的迷宫。     还是的]]></description><category></category></item><item><title><![CDATA[在Visual C++中利用/GS开关防止缓冲区溢出]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3881035</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3881035</guid><author>johns78</author><pubDate>Thu, 12 Feb 2009 11:23:00 +0800</pubDate><description><![CDATA[ 缓冲区溢出通常表现为一个最为常见的漏洞而存在于今天的各种软件之中，黑客可以用恶意的输入，从而更改程序的执行流程，由此入侵相应的进程、电脑、或整个域。如果进程运行于一个高度受信的账户之下，如管理员或本地系统账户，那么黑客带来的破坏将是极其严重，并有潜在广泛传播的危险。近几年来爆发的一些“知名”病毒，如红色代码、冲击波、震荡波等等，都源于C/C++代码缓冲区溢出的结果。         从程序的]]></description><category></category></item><item><title><![CDATA[WINDOWS钩子函数]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3270710</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3270710</guid><author>johns78</author><pubDate>Tue, 11 Nov 2008 01:01:00 +0800</pubDate><description><![CDATA[本课中我们将要学习WINDOWS钩子函数的使用方法。WINDOWS钩子函数的功能非常强大，有了它您可以探测其它进程并且改变其它进程的行为。 理论：WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们，您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”，您可以给WINDOWS一个处理或过滤事件的回调函数，该函数也叫做“钩子函数”，当每次发生您感兴趣的事件时，WINDOWS]]></description><category></category></item><item><title><![CDATA[常用的窗口风格]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3243051</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3243051</guid><author>johns78</author><pubDate>Fri, 07 Nov 2008 01:40:00 +0800</pubDate><description><![CDATA[表3.2风格含义WS_OVERLAPPEDWINDOW创建一个层叠式窗口，有边框、标题栏、系统菜单、最大最小化按钮，是以下几种风格的集合：WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOXWS_POPUPWINDOW]]></description><category></category></item><item><title><![CDATA[如何在属性对话框标题栏加图标和最小化按钮？ ]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3242650</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3242650</guid><author>johns78</author><pubDate>Fri, 07 Nov 2008 00:19:00 +0800</pubDate><description><![CDATA[如何在属性对话框标题栏加图标和最小化按钮？     2007-11-20 22:45:26 大 中 小 标签：IT/科技 mfc cpropsheet 一/在OninitDialg增加以下代码 CPropSheet::OnInitDialog(){  ........... // 最小化按钮  ModifyStyle(0, WS_MINIMIZEBOX | WS]]></description><category></category></item><item><title><![CDATA[Detour开发包之API拦截技术]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3206966</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3206966</guid><author>johns78</author><pubDate>Sun, 02 Nov 2008 15:30:00 +0800</pubDate><description><![CDATA[我们截获函数执行最直接的目的就是为函数增添功能，修改返回值，或者为调试以及性能测试加入附加的代码，或者截获函数的输入输出作研究，破解使用。通过访 问源代码，我们可以轻而易举的使用重建（Rebuilding）操作系统或者应用程序的方法在它们中间插入新的功能或者做功能扩展。然而，在今天这个商业 化的开发世界里，以及在只有二进制代码发布的系统中，研究人员几乎没有机会可以得到源代码。本文主要讨论Detou]]></description><category></category></item><item><title><![CDATA[Detour开发包之API拦截技术(转载)]]></title><link>https://blog.youkuaiyun.com/johns78/article/details/3206956</link><guid>https://blog.youkuaiyun.com/johns78/article/details/3206956</guid><author>johns78</author><pubDate>Sun, 02 Nov 2008 15:24:00 +0800</pubDate><description><![CDATA[标 题: 微软研究院Detour开发包之API拦截技术作 者: shangzh时 间: 2007-01-29,16:03链 接: http://bbs.pediy.com/showthread.php?t=38759我们截获函数执行最直接的目的就是为函数增添功能，修改返回值，或者为调试以及性能测试加入附加的代码，或者截获函数的输入输出作研究，破解使用。通过访问源代码，我们可以轻而易举的使用重建]]></description><category></category></item></channel></rss>