<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[冰峰的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wfq_1985</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wfq_1985]]></copyright><item><title><![CDATA[C++中指针和引用的区别]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/8688777</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/8688777</guid><author>wfq_1985</author><pubDate>Mon, 18 Mar 2013 20:13:23 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/kingln/archive/2008/03/29/1129118.html



引用是C++中的概念，初学者容易把引用和指针混淆一起。 
一下程序中，n是m的一个引用（reference），m是被引用物（referent）。 
int m; 
int &n = m; 
n相当于m的别名（绰号），对n的任何操作就是对m的操作。 
所]]></description><category></category></item><item><title><![CDATA[使用wcstok_s函数分割路径, 创建多级目录]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/8660076</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/8660076</guid><author>wfq_1985</author><pubDate>Mon, 11 Mar 2013 17:00:44 +0800</pubDate><description><![CDATA[实现代码如下:
enum {RCODE_PASS = 0,RCODE_FAIL = 255};


int CreateMutilFolder(LPTSTR szFolder);

int JudgeFolderIsExist(LPTSTR szFolder)
{	
	if (!PathIsDirectory(szFolder))
	{
		CreateMutilFolder(szFolder)]]></description><category></category></item><item><title><![CDATA[获取控制台窗口的句柄(HWND)和程序中输出回车键]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7478290</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7478290</guid><author>wfq_1985</author><pubDate>Thu, 19 Apr 2012 17:20:39 +0800</pubDate><description><![CDATA[一、获取窗口句柄基于类名或窗口名称: http://support.microsoft.com/kb/124103/zh-cn
Win32 API 提供用于获取与一个控制台应用程序相关联的窗口句柄没有直接方法。但是，您可以获得通过调用 FindWindow() 窗口句柄。此函数可检索窗口句柄基于类名或窗口名称。 

调用以确定当前的控制台标题 GetConsoleTitle()。然后提供当前]]></description><category></category></item><item><title><![CDATA[GetCurrentProcessID、OpenProcessToken、LookupPrivilegeValue、AdjustTokenPrivileges]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7476548</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7476548</guid><author>wfq_1985</author><pubDate>Thu, 19 Apr 2012 10:45:44 +0800</pubDate><description><![CDATA[GetCurrentProcessID            得到当前进程的ID   
OpenProcessToken               得到进程的令牌句柄
LookupPrivilegeValue           查询进程的权限
AdjustTokenPrivileges          判断令牌权限  

        要对一个任意进程（包括系统安全进程和服务进程]]></description><category></category></item><item><title><![CDATA[#pragma comment和#pragma 预处理指令详解]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7456591</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7456591</guid><author>wfq_1985</author><pubDate>Fri, 13 Apr 2012 10:12:27 +0800</pubDate><description><![CDATA[该宏放置一个注释到对象文件或者可执行文件。


   

例如，#pragma   comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。 和在工程设置里写上链入Ws2_32.lib的效果一样，不过这种方法写的 程序别人在使用你的代码的时候就不用再设置工程settings了。



#pragma comment( comment-type [,"]]></description><category></category></item><item><title><![CDATA[关于WDM驱动开发的不错资料(来自codeproject)]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7404700</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7404700</guid><author>wfq_1985</author><pubDate>Wed, 28 Mar 2012 21:35:02 +0800</pubDate><description><![CDATA[1. 详细的介绍如何做一个驱动程序教程：
Part 1:  http://www.codeproject.com/Articles/9504/Driver-Development-Part-1-Introduction-to-Drivers

Part 2:    http://www.codeproject.com/Articles/9575/Driver-Development-Part]]></description><category></category></item><item><title><![CDATA[/MD, /MDD, /ML, /MT,/MTD(使用运行时库)]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7303825</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7303825</guid><author>wfq_1985</author><pubDate>Tue, 28 Feb 2012 21:33:49 +0800</pubDate><description><![CDATA[1. VC编译选项

多线程(/MT)
多线程调试(/MTd)
多线程 DLL (/MD)
多线程调试 DLL (/MDd)


2. C 运行时库                                                库文件
Single thread(static link) ML                       libc.lib
Deb]]></description><category></category></item><item><title><![CDATA[C语言可变参数详解]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7298494</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7298494</guid><author>wfq_1985</author><pubDate>Mon, 27 Feb 2012 15:33:38 +0800</pubDate><description><![CDATA[补充：可变参数函数之间的调用(见code)。
int fun1( TCHAR *__format, ...)
{
va_list argptr;  
va_start(argptr, __format);
fun2( __format, &argptr);
va_end(argptr);

return 0;
}

int func2( TCHAR *__format,va_]]></description><category></category></item><item><title><![CDATA[C 程序更有效率的 10 种方法]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7268193</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7268193</guid><author>wfq_1985</author><pubDate>Fri, 17 Feb 2012 15:58:17 +0800</pubDate><description><![CDATA[转至：http://blog.chinaunix.net/space.php?uid=26495963&do=blog&id=3062636


任何代码的美丽不仅在于找到一个给定的问题的解决方案，但在它的简单性，有效性，紧凑性和效率（内存）。设计的代码比实际执行更难 。因此，每一个程序员当用C语言开发时，都应该保持这些基本的东西在头脑中。


  本文向你介绍规范你的C代码的10种方]]></description><category></category></item><item><title><![CDATA[Win32程序中使用Combo box控件]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7267169</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7267169</guid><author>wfq_1985</author><pubDate>Fri, 17 Feb 2012 11:36:00 +0800</pubDate><description><![CDATA[第一次使用win32写代码，将代码中对Combo box 控件的使用做个总结：


1.   使用SendMessage向窗口发送消息，对Combo Box进行基本操作如添加数据，删除数据，得到所选Item的值等，请参考：

       http://blog.youkuaiyun.com/qiurisuixiang/article/details/6746234





2. 使C]]></description><category></category></item><item><title><![CDATA[#pragma pack(n)和sizeof求结构的大小]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7255502</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7255502</guid><author>wfq_1985</author><pubDate>Mon, 13 Feb 2012 17:11:09 +0800</pubDate><description><![CDATA[为了提高CPU的存储速度，VC对一些变量的起始地址做了“对齐”处理。在默认情况下，VC规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。下面列出常用类型的对齐方式(vc6.0,32位系统)。
类型
对齐方式（变量存放的起始地址相对于结构的起始地址的偏移量）

Char
偏移量必须为sizeof(char)即1的倍数
int
偏移量必须为s]]></description><category></category></item><item><title><![CDATA[BIOS-SMI Introduction]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7254672</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7254672</guid><author>wfq_1985</author><pubDate>Mon, 13 Feb 2012 13:38:13 +0800</pubDate><description><![CDATA[了解SMI之前先了解一些基本的知识。
1.0  SYSTEM MANAGEMENT MODE OVERVIEW
         SMM是一个特定的操作模式，用于处理系统级的功能。比如：Power management, system hardware control, special OEM designed code . 它被设计成只给system firmware 使用，不是给应用软件或]]></description><category></category></item><item><title><![CDATA[认识控制台-控制台句柄、附着到控制台、关闭控制台]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7231366</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7231366</guid><author>wfq_1985</author><pubDate>Fri, 03 Feb 2012 14:37:42 +0800</pubDate><description><![CDATA[1. 附着到一个控制台
        一个进程可以使用 AttachConsole 函数来附着到一个控制台上，一个进程只能附着一个控制台。
       一个控制台可以有许多进程附着到它上面，调用 GetConsoleProcessList 函数可以得到附着到一个控制台的列表。
  
2. 关闭一个控制台
      进程可以使用 FreeConsole 函数来将其自身从一个控制台脱离]]></description><category></category></item><item><title><![CDATA[使用CreateProcess和wcscat_s容易出错的地方]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7205422</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7205422</guid><author>wfq_1985</author><pubDate>Mon, 16 Jan 2012 17:09:56 +0800</pubDate><description><![CDATA[由于没有仔细阅读MSDN，导致使用函数CreateProcess和wcscat_s出错，简单的问题，耽误不少时间。


1. CreateProcess的第二个参数不能指向只读的一段内存空间。
2. errno_t wcscat_s( wchar_t *strDestination, size_t
numberOfElements, const wchar_t *strSource )的]]></description><category></category></item><item><title><![CDATA[命令行运行vbs脚本并传参数给vbs中的变量简单示例]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/7097803</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/7097803</guid><author>wfq_1985</author><pubDate>Fri, 23 Dec 2011 11:57:47 +0800</pubDate><description><![CDATA[详细了解脚本请参考：脚本学习及应用分享 — 批处理和脚本的交互




简单代码示例：




CommandLine:    path\cscript.exe  xxx.vbs helloworld




VBSCode:            Set args = WScript.Arguments
             If args.Count = 1]]></description><category></category></item><item><title><![CDATA[CRC原理及其逆向分析方法]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/6936068</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/6936068</guid><author>wfq_1985</author><pubDate>Fri, 04 Nov 2011 15:38:51 +0800</pubDate><description><![CDATA[原文链接：http://www.cnblogs.com/MaxWoods/archive/2006/03/03/342298.html
 

CRC原理及其逆向破解方法：
介绍：
  这篇短文包含CRC原理介绍和其逆向分析方法,很多程序员和破解者不是很清楚了解
CRC的工作原理,而且几乎没人知道如何逆向分析它的方法,事实上它是非常有用的.
首先,这篇教程教你一般如何计算CRC,你可以]]></description><category></category></item><item><title><![CDATA[使用windows api 唤醒睡眠的系统(win7)]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/6929429</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/6929429</guid><author>wfq_1985</author><pubDate>Wed, 02 Nov 2011 17:56:55 +0800</pubDate><description><![CDATA[System Wake-up Events:
Your application can restore an OnNow-capable computer that is in a sleep state to the working state by using a scheduled timer or a device event. This is known as awake-up eve]]></description><category></category></item><item><title><![CDATA[Metro App中使用Timer]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/6894376</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/6894376</guid><author>wfq_1985</author><pubDate>Fri, 21 Oct 2011 16:23:52 +0800</pubDate><description><![CDATA[在设定的时间结束后，执行相应的方法。
    使用metro的Windows.System.Threading命名空间下的ThreadPoolTimer类，可以创建一个Timer。
    CreateTimer创建一个使用一次的Timer
    CreatePeriodicTimer创建一个Periodic的Timer，这个方法创建的Timer才和VC中的Timer类似。]]></description><category></category></item><item><title><![CDATA[在Metro App中显示Toast notification]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/6894201</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/6894201</guid><author>wfq_1985</author><pubDate>Fri, 21 Oct 2011 15:48:47 +0800</pubDate><description><![CDATA[Toast notification是向用户显示一些有关App的即时消息。具体Toast notification是什么可以参考
 http://msdn.microsoft.com/en-us/library/windows/apps/hh465360(v=VS.85).aspx
 创建Toast notification步骤：
 1.在Package.appxmanifest文件中设置T]]></description><category></category></item><item><title><![CDATA[VC INI文件读写 和 GetProfileString，WriteProfileString函数的使用]]></title><link>https://blog.youkuaiyun.com/wfq_1985/article/details/6800492</link><guid>https://blog.youkuaiyun.com/wfq_1985/article/details/6800492</guid><author>wfq_1985</author><pubDate>Thu, 22 Sep 2011 16:33:26 +0800</pubDate><description><![CDATA[VC中用函数读写ini文件的方法

         ini文件(即Initialization file)，这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成，每个Section由若干键(Key)组成，每个Key可以赋相应的值。读写]]></description><category></category></item></channel></rss>