<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>王骏的BLOG</title><link>http://blog.vckbase.com/wangjun/</link><description>编程、网络技术点滴...</description><managingEditor>王骏的BLOG</managingEditor><dc:language>af</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>王骏的BLOG</dc:creator><title>VC获取物理网卡MAC地址</title><link>http://blog.vckbase.com/wangjun/archive/2010/02/20/40973.html</link><pubDate>Sat, 20 Feb 2010 07:36:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2010/02/20/40973.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40973.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2010/02/20/40973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40973.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40973.html</trackback:ping><description>啥也别说了，直接贴代码：&lt;BR&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; PADDING-BOTTOM: 4px; PADDING-LEFT: 5.4pt; WIDTH: 98%; PADDING-RIGHT: 5.4pt; BACKGROUND: #e6e6e6; BORDER-TOP: windowtext 0.5pt solid; BORDER-RIGHT: windowtext 0.5pt solid; PADDING-TOP: 4px"&gt;
&lt;DIV&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;stdafx.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;atlbase.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;atlconv.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#include&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;iphlpapi.h&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;using&amp;nbsp;namespace&amp;nbsp;std;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;#pragma&amp;nbsp;comment(lib,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;Iphlpapi.lib&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;string&amp;nbsp;GetMac()&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;strMac;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ULONG&amp;nbsp;ulAdapterInfoSize&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;sizeof(IP_ADAPTER_INFO);&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IP_ADAPTER_INFO&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;pAdapterInfoBkp&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;NULL,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;pAdapterInfo&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;(IP_ADAPTER_INFO&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[ulAdapterInfoSize];&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&amp;nbsp;GetAdaptersInfo(pAdapterInfo,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;ulAdapterInfoSize)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;ERROR_BUFFER_OVERFLOW&amp;nbsp;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;缓冲区不够大&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;delete&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfo;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pAdapterInfo&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;(IP_ADAPTER_INFO&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[ulAdapterInfoSize];&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pAdapterInfoBkp&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfo;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&amp;nbsp;GetAdaptersInfo(pAdapterInfo,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;ulAdapterInfoSize)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;ERROR_SUCCESS&amp;nbsp;)&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;do&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;{&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;遍历所有适配器&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(pAdapterInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;Type&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;MIB_IF_TYPE_ETHERNET)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;判断是否为以太网接口&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;pAdapterInfo-&amp;gt;Description&amp;nbsp;是适配器描述&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&amp;nbsp;pAdapterInfo-&amp;gt;AdapterName&amp;nbsp;是适配器名称&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;for&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(UINT&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;AddressLength;&amp;nbsp;i&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;++&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;szTmp[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;8&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;];&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprintf(szTmp,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;%02X%c&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,pAdapterInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;Address[i],&amp;nbsp;(i&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;AddressLength&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;1&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;?&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;'\&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;':'&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;');&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strMac.append(szTmp);&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pAdapterInfo&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;Next;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;while&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(pAdapterInfo);&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(pAdapterInfoBkp)&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;delete&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;pAdapterInfoBkp;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;strMac;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;}&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;main(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;argc,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;char&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;argv[])&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;{&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;strMac&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;GetMac();&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;%s\r\n&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&amp;nbsp;strMac.c_str());&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;IMG align=top src="/Images/OutliningIndicators/None.gif"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40973.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>MacBook Pro 安装Windows XP</title><link>http://blog.vckbase.com/wangjun/archive/2010/02/04/40910.html</link><pubDate>Thu, 04 Feb 2010 02:52:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2010/02/04/40910.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40910.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2010/02/04/40910.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40910.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40910.html</trackback:ping><description>&lt;P&gt;一种方法是用Boot Camp在MAC OS下制作驱动盘、分区并安装XP。&lt;BR&gt;如果MAC OS已经不存在，则需要按如下步骤安装：&lt;/P&gt;
&lt;P&gt;插入XP安装光盘（不是GHOST光盘）,安装C键，启动，选择CDROM引导，开始安装XP。&lt;/P&gt;
&lt;P&gt;驱动安装：&lt;BR&gt;到Apple网站下载BootCamp最新版本,例如BootCamp_3.1_32-bit.exe&lt;BR&gt;在其它下载站下载7zip和winrar，用winrar解压BootCamp_3.1_32-bit.exe,得到一个.msp&lt;BR&gt;用7zip解压msp文件，得到XXX_BIN文件，将_BIN改为.EXE，即可得到相应驱动。&lt;/P&gt;
&lt;P&gt;另外，芯片组驱动（包括网卡驱动、声卡驱动）可以到&lt;A href="http://www.drvsky.com/apple/MacBook_Pro_MB991_ChipSet.htm"&gt;http://www.drvsky.com/apple/MacBook_Pro_MB991_ChipSet.htm&lt;/A&gt;下载&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40910.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>PCRE修正符及其使用方法</title><link>http://blog.vckbase.com/wangjun/archive/2010/01/20/40815.html</link><pubDate>Wed, 20 Jan 2010 01:39:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2010/01/20/40815.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40815.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2010/01/20/40815.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40815.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40815.html</trackback:ping><description>&lt;P&gt;（本文是在转载的基础上进行的修改）&lt;BR&gt;下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。修正符中的空格和换行被忽略，其它字符会导致错误。&lt;/P&gt;
&lt;P&gt;i (PCRE_CASELESS) &lt;BR&gt;如果设定此修正符，模式中的字符将同时匹配大小写字母。 &lt;BR&gt;m（PCRE_MULTILINE） &lt;BR&gt;默认情况下，PCRE 将目标字符串作为单一的一&amp;#8220;行&amp;#8221;字符所组成的（甚至其中包含有换行符也是如此）。&amp;#8220;行起始&amp;#8221;元字符（^）仅仅匹配字符串的起始，&amp;#8220;行结束&amp;#8221;元字符（$）仅仅匹配字符串的结束，或者最后一个字符是换行符时其前面（除非设定了 D 修正符）。这和 Perl 是一样的。 当设定了此修正符，&amp;#8220;行起始&amp;#8221;和&amp;#8220;行结束&amp;#8221;除了匹配整个字符串开头和结束外，还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。如果目标字符串中没有&amp;#8220;\n&amp;#8221;字符或者模式中没有 ^ 或 $，则设定此修正符没有任何效果。 &lt;BR&gt;s（PCRE_DOTALL） &lt;BR&gt;如果设定了此修正符，模式中的圆点元字符（.）匹配所有的字符，包括换行符。没有此设定的话，则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的，无论是否设定了此修正符。 &lt;BR&gt;x（PCRE_EXTENDED） &lt;BR&gt;如果设定了此修正符，模式中的空白字符除了被转义的或在字符类中的以外完全被忽略，在未转义的字符类之外的 # 以及下一个换行符之间的所有字符，包括两头，也都被忽略。这和 Perl 的 /x 修正符是等效的，使得可以在复杂的模式中加入注释。然而注意，这仅适用于数据字符。空白字符可能永远不会出现于模式中的特殊字符序列，例如引入条件子模式的序列 (?( 中间。 &lt;BR&gt;e &lt;BR&gt;如果设定了此修正符，preg_replace() 在替换字符串中对逆向引用作正常的替换，将其作为 PHP 代码求值，并用其结果来替换所搜索的字符串。 &lt;BR&gt;只有 preg_replace() 使用此修正符，其它 PCRE 函数将忽略之。&lt;/P&gt;
&lt;P&gt;Note: 本修正符在 PHP3 中不可用。 &lt;/P&gt;
&lt;P&gt;A（PCRE_ANCHORED） &lt;BR&gt;如果设定了此修正符，模式被强制为&amp;#8220;anchored&amp;#8221;，即强制仅从目标字符串的开头开始匹配。此效果也可以通过适当的模式本身来实现（在 Perl 中实现的唯一方法）。 &lt;BR&gt;D（PCRE_DOLLAR_ENDONLY） &lt;BR&gt;如果设定了此修正符，模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时，如果最后一个字符是换行符的话，美元符号也会匹配此字符之前（但不会匹配任何其它换行符之前）。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。 &lt;BR&gt;S &lt;BR&gt;当一个模式将被使用若干次时，为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前，分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。 &lt;BR&gt;U（PCRE_UNGREEDY） &lt;BR&gt;本修正符反转了匹配数量的值使其不是默认的重复，而变成在后面跟上&amp;#8220;?&amp;#8221;才变得重复。这和 Perl 不兼容。也可以通过在模式之中设定 (?U) 修正符或者在数量符之后跟一个问号（如 .*?）来启用此选项。 &lt;BR&gt;X（PCRE_EXTRA） &lt;BR&gt;此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误，从而保留此组合以备将来扩充。默认情况下，和 Perl 一样，一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。 &lt;BR&gt;u（PCRE_UTF8） &lt;BR&gt;此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用，在 win32 下自 PHP 4.2.3 起可用。自 PHP 4.3.5 起开始检查模式的 UTF-8 合法性。 &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;使用方法举例：&lt;BR&gt;忽略大小写规则：(?i)a(.*)b&lt;BR&gt;匹配：AokbaseB&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40815.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>UCenter info: MySQL Query Error (UCenter一个错误的解决)</title><link>http://blog.vckbase.com/wangjun/archive/2009/12/17/40377.html</link><pubDate>Thu, 17 Dec 2009 08:22:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/12/17/40377.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40377.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/12/17/40377.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40377.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40377.html</trackback:ping><description>&lt;P&gt;错误信息：&lt;BR&gt;UCenter info: MySQL Query Error&lt;BR&gt;SQL:SELECT * FROM [Table]notelist WHERE closed='0' AND app2&amp;lt;'1' AND app2&amp;gt;'-5' LIMIT 1&lt;BR&gt;Error:Unknown column 'app2' in 'where clause'&lt;BR&gt;Errno:1054&lt;/P&gt;
&lt;P&gt;错误解决：&lt;BR&gt;uc_notelist缺少app2字段，app2对应于"应用2",在创建应用的时候ucenter需要修改uc_notelist添加对应的字段。&lt;BR&gt;连接到mysql,show columns from uc_notelist; 发现果然没有app2字段，说明ucenter并没有成功创建该字段,&lt;/P&gt;
&lt;P&gt;下载checkappid.php到网站并运行，出现如下错误：&lt;BR&gt;Error:ALTER command denied to user &lt;A href="mailto:'xxxx'@'localhost'"&gt;'xxxx'@'localhost'&lt;/A&gt; for table 'uc_notelist'&lt;BR&gt;Errno:1142&lt;BR&gt;SQL::ALTER TABLE uc_notelist ADD COLUMN app1 tinyint NOT NULL&lt;/P&gt;
&lt;P&gt;说明xxxx用户没有ALTER权限。&lt;BR&gt;到mysql中，&lt;BR&gt;mysql&amp;gt; SELECT alter_priv FROM user WHERE&amp;nbsp; User = 'xxxx';&lt;BR&gt;发现alter_priv = 'N',果然没有权限。&lt;BR&gt;修改权限：&lt;BR&gt;mysql&amp;gt; UPDATE user SET alter_priv='Y' WHERE User = 'xxxx';&lt;BR&gt;mysql&amp;gt; flush privileges;&lt;/P&gt;
&lt;P&gt;重新运行checkappid.php出现：&lt;BR&gt;PHP Warning: unlink(c:\wwwroot\checkappid.php): Permission denied in c:\wwwroot\checkappid.php on line 31 &lt;BR&gt;说明checkappid.php修改appid已经成功，我们手工删除checkappid.php即可。&lt;/P&gt;
&lt;P&gt;mysql&amp;gt; show columns from uc_notelist;&lt;BR&gt;各个应用的appx都已创建好。&lt;BR&gt;&lt;BR&gt;附件：&lt;A href="http://blog.vckbase.com/Files/wangjun/checkappid.rar"&gt;http://blog.vckbase.com/Files/wangjun/checkappid.rar&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;本文由okbase.net原创，转载请注明出处！&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40377.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>PHP运行时出现FastCGI Error</title><link>http://blog.vckbase.com/wangjun/archive/2009/12/13/40265.html</link><pubDate>Sun, 13 Dec 2009 12:46:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/12/13/40265.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40265.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/12/13/40265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40265.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40265.html</trackback:ping><description>&lt;P&gt;错误信息：&lt;BR&gt;FastCGI Error&lt;BR&gt;The FastCGI Handler was unable to process the request. &lt;BR&gt;--------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;Error Details:&lt;/P&gt;
&lt;P&gt;The FastCGI process exited unexpectedly &lt;BR&gt;Error Number: -2147467259 (0x80004005). &lt;BR&gt;Error Description: 未指定的错误 &lt;BR&gt;HTTP Error 500 - Server Error.&lt;BR&gt;Internet Information Services (IIS)&lt;/P&gt;
&lt;P&gt;解决：&lt;BR&gt;检查php.ini的Dynamic Extensions内容，看是否每一行extension=xxx.dll中的dll是否真实存在，如果不存在则注释掉。&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40265.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>Windows 2003下FastCGI+PHP5的安装教程(转载)</title><link>http://blog.vckbase.com/wangjun/archive/2009/12/07/40067.html</link><pubDate>Mon, 07 Dec 2009 00:47:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/12/07/40067.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/40067.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/12/07/40067.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/40067.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/40067.html</trackback:ping><description>原文请见：&lt;A href="http://hi.baidu.com/honfei/blog/item/767c4b1b90f787dfad6e7514.html"&gt;http://hi.baidu.com/honfei/blog/item/767c4b1b90f787dfad6e7514.html&lt;/A&gt;&lt;A href="http://hi.baidu.com/honfei/blog/item/767c4b1b90f787dfad6e7514.htmlmicrosoft"&gt;&lt;BR&gt;&lt;BR&gt;&lt;/A&gt;Microsoft开始大力支持php了，Zend公司和微软公司改善了微软的IIS Web服务器的FastCGI模块，它将提高PHP的性能。这个模块免费提供给IIS6和IIS7的用户，可以运行在Windows Server 2003上，并将作为vista和即将推出的Windows Server 2008的一部分。 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 近日，微软和PHP社区经过一年的努力，通过FastCGI扩展，终于能让PHP在IIS 7.0上执行效率大增。而此前，PHP曾经是IIS心口上的稳痛，PHP在IIS的扩展速度一直跟不上其他服务端。而免费的FastCGI扩展的出现，使得PHP一越成为Windows平台之上的&amp;#8220;一等公民&amp;#8221;。&lt;BR&gt;。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 现在网上很多IIS7下配置PHP的教程还停顿在IIS6的配置阶段，还在用isapi模式，如果是这样，还是直接用IIS6好了，不然IIS7再好，也是浪费。&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;综合网上教程，我总结修改出以下内容，给有需要的朋友参考：&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;环境：&lt;/STRONG&gt;&lt;BR&gt;操作系统:Windows 2003 Server&lt;BR&gt;PHP版本:PHP5.26&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1.安装FastCGI For IIS6&lt;/STRONG&gt;&lt;BR&gt;到微软官方网站&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&amp;amp;displaylang=en&lt;/A&gt;&lt;BR&gt;下载fcgisetup32.msi,下载之后,双击运行进行安装.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2.安装PHP5.26&lt;/STRONG&gt;&lt;BR&gt;到&lt;A href="http://www.php.net/"&gt;http://www.php.net&lt;/A&gt;下载.zip格式的版本,下载后解压至&lt;FONT color=#ff00ff&gt;D:\Program Files\php5&lt;/FONT&gt;目录,&lt;FONT color=#ff0000&gt;并给"&lt;FONT color=#073763&gt;启动IIS进程帐户&lt;/FONT&gt;"赋予'读取'和'运行'权限.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3.注册PHP到FastCGI&lt;/STRONG&gt;&lt;BR&gt;在命令行下运行&lt;BR&gt;&lt;FONT color=#0000ff&gt;cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"&lt;FONT color=#ff00ff&gt;D:\Program Files\php5\php-cgi.exe&lt;/FONT&gt;"&lt;BR&gt;&lt;/FONT&gt;fcgiconfig.js 默认存放目录是:&lt;FONT color=#0000ff&gt;C:\WINDOWS\system32\inetsrv&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4.配置php.ini&lt;/STRONG&gt;&lt;BR&gt;将&lt;FONT color=#ff00ff&gt;D:\Program Files\php5\&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;php.ini-recommended&lt;/FONT&gt;重命名为&lt;FONT color=#0000ff&gt;php.ini&lt;/FONT&gt; (&lt;FONT color=#ff0000&gt;注意：无需拷贝到C:\windows\&lt;/FONT&gt;)&lt;BR&gt;打开&lt;FONT color=#ff00ff&gt;D:\Program Files\php5\php.ini&lt;/FONT&gt;，修改：&lt;BR&gt;&lt;FONT color=#0000ff&gt;extension_dir = "&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;D:\Program Files\php5\ext&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;fastcgi.impersonate = 1&lt;BR&gt;cgi.fix_pathinfo=1&lt;BR&gt;cgi.force_redirect = 0&lt;BR&gt;extension=php_dba.dll &lt;FONT color=#999999&gt;去掉前分号&lt;BR&gt;&lt;/FONT&gt;extension=php_dbase.dll &lt;FONT color=#999999&gt;去掉前分号&lt;BR&gt;&lt;/FONT&gt;extension=php_gd2.dll &lt;FONT color=#999999&gt;去掉前分号&lt;BR&gt;&lt;/FONT&gt;extension=php_mysql.dll &lt;FONT color=#999999&gt;去掉前分号，开启mysql支持&lt;/FONT&gt;&lt;BR&gt;short_open_tag = Off &lt;/FONT&gt;&lt;FONT color=#999999&gt;改为 &lt;FONT color=#ff00ff&gt;On&lt;/FONT&gt;，开启&amp;lt;??&amp;gt;短标记&lt;BR&gt;&lt;/FONT&gt;(&lt;FONT color=#ff0000&gt;注意：以上dll文件无需拷贝到C:\windows\system32&lt;/FONT&gt;)&lt;BR&gt;其它根据实际需要对php.ini进行设置修改&lt;BR&gt;复制D:\Program Files\php5\&lt;FONT color=#0000ff&gt;libmcrypt.dll&lt;/FONT&gt;和&lt;FONT color=#0000ff&gt;libmysql.dll&lt;/FONT&gt; 到&lt;FONT color=#ff00ff&gt;D:\Program Files\php5\ext&lt;/FONT&gt;目录 (&lt;FONT color=#ff0000&gt;注意：无需拷贝到C:\windows\system32&lt;/FONT&gt;)&lt;BR&gt;然后执行：&lt;BR&gt;&lt;FONT color=#0000ff&gt;cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:300&lt;BR&gt;cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:800&lt;BR&gt;&lt;/FONT&gt;以上两项设置最大池和响应连接数，可以根据运行机器的硬件配置、使用情况修改&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;5.添加/编辑扩展名映射 &lt;/STRONG&gt;&lt;BR&gt;打开IIS管理器-&amp;gt;网站-&amp;gt;主目录-&amp;gt;配置－&amp;gt;映射-&amp;gt;添加: &lt;FONT color=#ffffff&gt;来自:http://www.cnlive.net&lt;/FONT&gt;&lt;BR&gt;可执行文件：&lt;FONT color=#0000ff&gt;C:\WINDOWS\system32\inetsrv\fcgiext.dll&lt;BR&gt;&lt;/FONT&gt;扩展名：.&lt;FONT color=#0000ff&gt;php&lt;/FONT&gt;&lt;BR&gt;动作，限制为：&lt;FONT color=#0000ff&gt;GET,HEAD,POST&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;6.添加系统环境变量&lt;/STRONG&gt;&lt;BR&gt;(1)在桌面我的电脑图标点击右键-&amp;gt;属性-&amp;gt;高级-&amp;gt;环境变量-&amp;gt;系统变量中找到Path，在值的最后加上&lt;FONT color=#9900ff&gt;D:\Program Files\php5&lt;/FONT&gt;,修改后是这样的：&lt;BR&gt;变量名：&lt;FONT color=#ff00ff&gt;Path&lt;BR&gt;&lt;/FONT&gt;变量值：%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;&lt;FONT color=#ff00ff&gt;D:\Program Files\php5&lt;BR&gt;&lt;/FONT&gt;(2)点新建再添加一个变量名&lt;FONT color=#ff00ff&gt;PHPRC&lt;/FONT&gt;值为&lt;FONT color=#ff00ff&gt;D:\Program Files\php5&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;7.最后一步&lt;/STRONG&gt;&lt;BR&gt;最好是重起电脑，重起IIS ,开始-&amp;gt;运行-&amp;gt;CMD-&amp;gt;IISRESET /RESTART ,待重起完后就完成所有配置了.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;其它:&lt;/STRONG&gt;&lt;BR&gt;&lt;FONT color=#666666&gt;如果重启IIS后,打开测试页出现如下提示:&lt;BR&gt;FastCGI Error&lt;BR&gt;The FastCGI Handler was unable to process the request. &lt;BR&gt;--------------------------------------------------------------------------------&lt;BR&gt;Error Details:&lt;BR&gt;Error Number: 5 (0x80070005). &lt;BR&gt;Error Description: 拒绝访问。 &lt;BR&gt;HTTP Error 500 - Server Error.&lt;BR&gt;Internet Information Services (IIS)&lt;BR&gt;这个错误是由于在解压PHP之后,没有对启动IIS进程帐户(账户名以IWAW_开头)赋予该目录的"读取"和"运行"权限.修改文件夹安全属性,问题解决.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/40067.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>GZip格式的HTTP页面的解压缩(依赖zlib)</title><link>http://blog.vckbase.com/wangjun/archive/2009/11/04/39726.html</link><pubDate>Wed, 04 Nov 2009 13:49:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/11/04/39726.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/39726.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/11/04/39726.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/39726.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/39726.html</trackback:ping><description>&lt;P&gt;为了节省带宽许多网站都采用GZip压缩页面，Apache，PHP都能提供GZip支持，经GZip压缩的HTTP页面的HTTP头有如下标记：Content-Encoding = gzip&lt;BR&gt;GZip数据以0x1f,0x8B开头，文件头长度通常为10。&lt;BR&gt;用zlib的uncompress无法解成功，测试了网上许多版本都失败，最后总结了可行的代码：&lt;BR&gt;&lt;BR&gt;int GZipUncompress(Byte *dest, uLong *destLen, Byte *src, uLong srcLen)&amp;nbsp;&amp;nbsp; &lt;BR&gt;{&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;// 本文来源 &lt;A href="http://www.okbase.net"&gt;http://www.okbase.net&lt;/A&gt;&lt;BR&gt;&amp;nbsp;int err;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;z_stream d_stream;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;memset(&amp;amp;d_stream, 0, sizeof(z_stream));&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;d_stream.next_in = src;&lt;BR&gt;&amp;nbsp;d_stream.avail_in = srcLen;&amp;nbsp; &lt;BR&gt;&amp;nbsp;d_stream.next_out = dest;&amp;nbsp; &lt;BR&gt;&amp;nbsp;d_stream.avail_out = *destLen;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;err = inflateInit2(&amp;amp;d_stream, -MAX_WBITS);&lt;BR&gt;&amp;nbsp;if(err != Z_OK)&lt;BR&gt;&amp;nbsp;&amp;nbsp;return(err);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;d_stream.next_in += 10L;&amp;nbsp;// 跳过GZip文件头，这里没有仔细处理，长度可以通过文件头数据取得&lt;/P&gt;
&lt;P&gt;&amp;nbsp;err = inflate(&amp;amp;d_stream, Z_FINISH);&lt;BR&gt;&amp;nbsp;if (err != Z_STREAM_END) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inflateEnd(&amp;amp;d_stream);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return err == Z_OK ? Z_BUF_ERROR : err;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;*destLen = d_stream.total_out;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;err = inflateEnd(&amp;amp;d_stream);&amp;nbsp; &lt;BR&gt;&amp;nbsp;return(err);&amp;nbsp;&amp;nbsp; &lt;BR&gt;}&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;// 测试代码&lt;BR&gt;char *pMem = ... // 数据源&lt;BR&gt;int MemSize; // 数据源长度&lt;BR&gt;&lt;BR&gt;unsigned long BufferSize = MemSize * 6;&lt;BR&gt;char *pBuffer = new char[BufferSize];&amp;nbsp; // BufferSize要足够大&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(pBuffer, 0, BufferSize);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;int result = GZipUncompress((unsigned char *)pBuffer, &amp;amp;BufferSize, (unsigned char *)pMem, MemSize);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(result == Z_OK)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 成功&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;// 需要改进的几点问题&lt;BR&gt;（1）没有处理目标缓冲区大小不够的情况&lt;BR&gt;（2）跳过GZip文件头的长度没有从文件头中读取&lt;BR&gt;时间不够，需要的朋友请自行修改，改好了记得贴一下自己的代码哦！&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/39726.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>关于C正则表达式库PCRE</title><link>http://blog.vckbase.com/wangjun/archive/2009/10/28/39611.html</link><pubDate>Wed, 28 Oct 2009 07:33:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/10/28/39611.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/39611.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/10/28/39611.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/39611.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/39611.html</trackback:ping><description>&lt;P&gt;PCRE 官网 &lt;A href="http://www.pcre.org/"&gt;http://www.pcre.org/&lt;/A&gt;&lt;BR&gt;PCRE Windows版本(包含已编译文件) &lt;A href="http://www.psyon.org/projects/pcre-win32/index.php"&gt;http://www.psyon.org/projects/pcre-win32/index.php&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;(1)注意，如果采用LIB静态链接，一定要在自己的代码里加上：#define PCRE_STATIC&lt;BR&gt;否则会在链接时报如下错误：&lt;BR&gt;RegexDemo.obj : error LNK2001: unresolved external symbol __imp__pcre_exec&lt;BR&gt;RegexDemo.obj : error LNK2001: unresolved external symbol __imp__pcre_compile&lt;BR&gt;&lt;BR&gt;(2)另外，如果使用psyon.org已经编译好的Lib，自己的程序需要在VC7以上编译，因为这些LIB使用了/GS编译开关，如果在VC6下编译会显示如下错误：&lt;BR&gt;error &amp;nbsp; LNK2001: &amp;nbsp; unresolved &amp;nbsp; external &amp;nbsp; symbol &amp;nbsp; __security_cookie &lt;BR&gt;&lt;BR&gt;(3)自己编译PCRE时的注意事项&lt;BR&gt;3.1 运行时库需要与使用该lib的宿主程序一致&lt;BR&gt;3.2 默认PCRE是以递归方式调用match, 当需要处理的字符串比较大时，堆栈就会溢出(stack overflow),处理的办法之一就是将PCRE默认编译为在堆中分配内存，开关在config.h里,#define NO_RECURSE&lt;BR&gt;方法二：采用pcre_recurse_malloc手工从堆中分配内存&lt;BR&gt;&lt;BR&gt;//---------------------------&lt;BR&gt;PCRE测试代码&lt;BR&gt;/* Compile thuswise:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;*&amp;nbsp;&amp;nbsp; gcc -Wall pcre1.c -I/usr/local/include -L/usr/local/lib -R/usr/local/lib -lpcre&lt;BR&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR&gt;#include &amp;lt;string.h&amp;gt;&lt;BR&gt;#include &amp;lt;pcre.h&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;#define OVECCOUNT 30&amp;nbsp;&amp;nbsp;&amp;nbsp; /* should be a multiple of 3 */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;int main() &lt;BR&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pcre&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *re; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const char&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *error;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; erroffset;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovector[OVECCOUNT];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc, i;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; src&amp;nbsp;&amp;nbsp;&amp;nbsp; [] = "111 &amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt; 222";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pattern&amp;nbsp;&amp;nbsp; [] = "&amp;lt;title&amp;gt;(.*)&amp;lt;/title&amp;gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("String : %s\n", src);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Pattern: \"%s\"\n", pattern);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; re = pcre_compile(pattern, 0, &amp;amp;error, &amp;amp;erroffset, NULL);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (re == NULL) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("PCRE compilation failed at offset %d: %s\n", erroffset, error);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc = pcre_exec(re, NULL, src, strlen(src), 0, 0, ovector, OVECCOUNT);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rc &amp;lt; 0) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rc == PCRE_ERROR_NOMATCH) printf("Sorry, no match ...\n");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Matching error %d\n", rc);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; free(re);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\nOK, has matched ...\n\n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; rc; i++) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *substring_start = src + ovector[2*i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int substring_length = ovector[2*i+1] - ovector[2*i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%2d: %.*s\n", i, substring_length, substring_start);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; free(re);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/39611.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>ASP.NET大文件上传(.NET 3.5 VS2008下编译通过)</title><link>http://blog.vckbase.com/wangjun/archive/2009/10/23/39585.html</link><pubDate>Fri, 23 Oct 2009 08:40:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/10/23/39585.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/39585.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/10/23/39585.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/39585.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/39585.html</trackback:ping><description>源代码：&lt;A href="http://blog.vckbase.com/Files/wangjun/BigFileUpload.rar"&gt;http://blog.vckbase.com/Files/wangjun/BigFileUpload.rar&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;简明使用方法(详见Default.aspx.cs)：&lt;BR&gt;1)Web.config中&amp;lt;httpModules&amp;gt;添加&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="BigFileUploadModuleHandle " type="HelpSoft.BigFileUploadModuleHandle,BigFileUploadHandle" /&amp;gt;&lt;BR&gt;&lt;BR&gt;2) 指定上传临时目录&lt;BR&gt;UploadContext context = UploadContextFactory.InitUploadContext(this, @"e:\temp"); &lt;BR&gt;&lt;BR&gt;3)保存&lt;BR&gt;UploadContext context = UploadContextFactory.GetUploadContext();&lt;BR&gt;if ((context != null) &amp;amp;&amp;amp; (context.Status == uploadStatus.Complete))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //context.SaveFile(file1.ClientID, Request.MapPath("/myupload/"));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.SaveFile(file1.ClientID, @"e:\temp\upload\"); //后面必须有:"\"&lt;BR&gt;}&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/39585.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>王骏的BLOG</dc:creator><title>VS2008开发的MFC程序所依赖的DLL</title><link>http://blog.vckbase.com/wangjun/archive/2009/09/21/39036.html</link><pubDate>Mon, 21 Sep 2009 11:26:00 GMT</pubDate><guid>http://blog.vckbase.com/wangjun/archive/2009/09/21/39036.html</guid><wfw:comment>http://blog.vckbase.com/wangjun/comments/39036.html</wfw:comment><comments>http://blog.vckbase.com/wangjun/archive/2009/09/21/39036.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/wangjun/comments/commentRss/39036.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/wangjun/services/trackbacks/39036.html</trackback:ping><description>用Dependency Walker查看，关键是：mfc90.dll、msvcp90.dll、msvcr90.dll 三个。&lt;BR&gt;有网友说也用到了Microsoft.VC90.MFC.manifest、Microsoft.VC90.MFC.manifest、msvcm90.dll，在此记录一下备忘。&lt;img src ="http://blog.vckbase.com/wangjun/aggbug/39036.html" width = "1" height = "1" /&gt;</description></item></channel></rss>