﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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>C++博客-GraphicSir-文章分类-C/C++</title><link>http://www.cppblog.com/topjackhjj/category/9566.html</link><description>游戏技术,实时渲染技术</description><language>zh-cn</language><lastBuildDate>Tue, 13 Nov 2012 12:57:40 GMT</lastBuildDate><pubDate>Tue, 13 Nov 2012 12:57:40 GMT</pubDate><ttl>60</ttl><item><title>VS2008+Qt4: uic, moc使用小记</title><link>http://www.cppblog.com/topjackhjj/articles/194697.html</link><dc:creator>翾</dc:creator><author>翾</author><pubDate>Mon, 05 Nov 2012 15:20:00 GMT</pubDate><guid>http://www.cppblog.com/topjackhjj/articles/194697.html</guid><wfw:comment>http://www.cppblog.com/topjackhjj/comments/194697.html</wfw:comment><comments>http://www.cppblog.com/topjackhjj/articles/194697.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/topjackhjj/comments/commentRss/194697.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/topjackhjj/services/trackbacks/194697.html</trackback:ping><description><![CDATA[<div><font style="background-color: #e0fe9c">1.对.ui的<span style="font-family: 宋体">资源编译</span>设置<br />在.ui文件右键属性,选择"常规",然后在"命令行"输入:<br />"$(QTDIR)\bin\uic.exe" -o ".\ui_$(InputName).h" "$(InputPath)"<br />if errorlevel 1 goto VCReportError<br /><br />在"说明"输入:<br />Uic'ing $(InputFileName)...<br /><br />在"输出"输入:<br />".\ui_$(InputName).h"<br /><br />在"附加依赖项"输入:<br />$(QTDIR)\bin\uic.exe<br /><br />设置完之后,右击.ui文件选择编译,就会生成对应ui_XXX.h的头文件.<br /><br />2.对使用了Q_OBJECT宏后编译出错问题的解决.<br />在对使用了Q_OBJECT的类的头文件,右击选择属性,然后在常规里做如下设置<br />命令行:<br />"$(QTDIR)\bin\moc.exe" "$(InputPath)" -o "$(InputDir)\moc_$(InputName).cxx" <br />if errorlevel 1 goto VCReportError<br /><br />输出:<br />"$(InputDir)\moc_$(InputName).cxx" <br /><br />附加依赖项:<br />"$(QTDIR)\bin\moc.exe"<br /><br />设置完之后,对该头文件右击选择编译,就会生成对应的moc_XXX.cpp文件,然后再解决方案里把该cpp文件加到工程里面,再编译工程就可以了<br /></font></div><img src ="http://www.cppblog.com/topjackhjj/aggbug/194697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/topjackhjj/" target="_blank">翾</a> 2012-11-05 23:20 <a href="http://www.cppblog.com/topjackhjj/articles/194697.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows剪贴板编程</title><link>http://www.cppblog.com/topjackhjj/articles/73835.html</link><dc:creator>翾</dc:creator><author>翾</author><pubDate>Thu, 11 Jun 2009 06:47:00 GMT</pubDate><guid>http://www.cppblog.com/topjackhjj/articles/73835.html</guid><description><![CDATA[
		<p>         Windows剪贴板是一种比较简单同时也是开销比较小的IPC（InterProcess Communication，进程间通讯）机制。Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存，用来暂存在各进程间进行交换的数据：提供数据的进程创建一个全局内存块，并将要传送的数据移到或复制到该内存块；接受数据的进程（也可以是提供数据的进程本身）获取此内存块的句柄，并完成对该内存块数据的读取。</p>
		<p>         为使剪贴板的这种IPC机制更加完善和便于使用，需要解决好如下三个问题：提供数据的进程在结束时Windows系统将删除其创建的全局内存块，而接受数据的进程则希望在其退出后剪贴板中的数据仍然存在，可以继续为其他进程所获取；能方便地管理和传送剪贴板数据句柄；能方便设置和确定剪贴板数据格式。为完善上述功能，Windows提供了存在于USER32.dll中的一组API函数、消息和预定义数据格式等，并通过对这些函数、消息的使用来管理在进程间进行的剪贴板数据交换。</p>
		<p>         Windows系统为剪贴板提供了一组API函数和多种消息，基本可以满足编程的需要。而且Windows还为剪贴板预定义了多种数据格式。通过这些预定义的格式，可以使接收方正确再现数据提供方放置于剪贴板中的数据内容。<br /><br /><strong>（1）文本剪贴板<br /><br /></strong></p>
		<p>         文本剪贴板是包含具有格式CF_TEXT的字符串的剪贴板，是最经常使用的剪贴板之一。在文本剪贴板中传递的数据是不带任何格式信息的ASCII字符。若要将文本传送到剪贴板，可以先分配一个可移动全局内存块，然后将要复制的文本内容写入到此内存区域。最后调用剪贴板函数将数据放置到剪贴板：</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span>
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">---------------------------------------------------------<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 名称:  CopyStringToCliPBoard<br /></span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 功能:  复制字符串到剪贴板<br /></span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 参数:  hWnd - 窗口HANDLE,可以为NULL<br /></span>
				<span style="COLOR: #008080"> 5</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">        lpszText - 要复制的字符串<br /></span>
				<span style="COLOR: #008080"> 6</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 返回:  TRUE-复制成功; FALSE-失败<br /></span>
				<span style="COLOR: #008080"> 7</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">---------------------------------------------------------</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 8</span>
				<span style="COLOR: #008000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">BOOL CopyStringToCliPBoard( HWND hWnd, LPCTSTR lpszText )<br /></span>
				<span style="COLOR: #008080"> 9</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_315_1017_Open_Image" onclick="this.style.display='none'; Codehighlighter1_315_1017_Open_Text.style.display='none'; Codehighlighter1_315_1017_Closed_Image.style.display='inline'; Codehighlighter1_315_1017_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_315_1017_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_315_1017_Closed_Text.style.display='none'; Codehighlighter1_315_1017_Open_Image.style.display='inline'; Codehighlighter1_315_1017_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_315_1017_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_315_1017_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080">10</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 计算字符串长度</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">11</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> nlen </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> strlen(lpszText);<br /></span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> ( nlen </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000"> )<br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> FALSE;<br /></span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">15</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 将szText中的内容复制到剪贴板</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    HGLOBAL hglbCopy;<br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    LPTSTR  lptstrCopy;<br /></span>
						<span style="COLOR: #008080">18</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">19</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 打开剪贴板</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">20</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> ( </span>
						<span style="COLOR: #000000">!</span>
						<span style="COLOR: #000000">::OpenCliPBoard(hWnd) )<br /></span>
						<span style="COLOR: #008080">21</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> FALSE;<br /></span>
						<span style="COLOR: #008080">22</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">23</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 申请内存空间</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    hglbCopy </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> GlobalAlloc( GMEM_DDESHARE, (nlen </span>
						<span style="COLOR: #000000">+</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #000000">*</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">sizeof</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #0000ff">char</span>
						<span style="COLOR: #000000">) ); <br /></span>
						<span style="COLOR: #008080">25</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">26</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 申请失败, 关闭剪贴板然后返回</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">27</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000"> (hglbCopy </span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> NULL) <br /></span>
						<span style="COLOR: #008080">28</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_646_688_Open_Image" onclick="this.style.display='none'; Codehighlighter1_646_688_Open_Text.style.display='none'; Codehighlighter1_646_688_Closed_Image.style.display='inline'; Codehighlighter1_646_688_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_646_688_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_646_688_Closed_Text.style.display='none'; Codehighlighter1_646_688_Open_Image.style.display='inline'; Codehighlighter1_646_688_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_646_688_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_646_688_Open_Text">
								<span style="COLOR: #000000">{ <br /></span>
								<span style="COLOR: #008080">29</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        CloseCliPBoard(); <br /></span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> FALSE; <br /></span>
								<span style="COLOR: #008080">31</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000"> <br /></span>
						<span style="COLOR: #008080">32</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">33</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 清空剪贴板</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">34</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    EmptyCliPBoard();<br /></span>
						<span style="COLOR: #008080">35</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">36</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 复制数据到申请的内存里</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    lptstrCopy </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> (LPTSTR)GlobalLock( hglbCopy ); <br /></span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memcpy( lptstrCopy, lpszText, nlen );<br /></span>
						<span style="COLOR: #008080">39</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> null character </span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">40</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    lptstrCopy[nlen] </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> (TCHAR) </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;    <br /></span>
						<span style="COLOR: #008080">41</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    GlobalUnlock(lptstrCopy); <br /></span>
						<span style="COLOR: #008080">42</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">43</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 将数据拷贝到剪贴板</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">44</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    SetCliPBoardData( CF_TEXT, hglbCopy );<br /></span>
						<span style="COLOR: #008080">45</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 关闭剪贴板</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">46</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    CloseCliPBoard();<br /></span>
						<span style="COLOR: #008080">47</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> TRUE;<br /></span>
						<span style="COLOR: #008080">48</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
		<br />
		<p>         这里以OpenClipboard（）打开剪贴板，并在调用了EmptyClipboard（）后使hWnd指向的窗口成为剪贴板的拥有者，一直持续到CloseClipboard（）函数的调用。在此期间，剪贴板为拥有者所独占，其他进程将无法对剪贴板内容进行修改。<br /><br /></p>
		<p>         从剪贴板获取文本的过程与之类似，首先打开剪贴板并获取剪贴板的数据句柄，如果数据存在就拷贝其数据到程序变量。由于GetClipboardData（）获取的数据句柄是属于剪贴板的，因此用户程序必须在调用CloseClipboard（）函数之前使用它：<br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 名称:  GetStringFromClipBoard<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 功能:  从剪贴板获得文本<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 参数:  hWnd - 窗口HANDLE,可以为NULL<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 返回:  剪贴板的文本<br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">---------------------------------------------------------</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">LPCTSTR GetStringFromClipBoard( HWND hWnd )<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 数据指针</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">    LPCTSTR buffer </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL;<br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 打开剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( ::OpenClipboard( hWnd ) )<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">    {<br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000">        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 获得剪贴板的数据</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">        HANDLE hData </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">GetClipboardData( CF_TEXT );<br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">        buffer </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (LPCTSTR)GlobalLock( hData );<br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">        GlobalUnlock( hData );<br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000">        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 关闭剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">        CloseClipboard();<br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000">    }<br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> buffer;<br /></span><span style="COLOR: #008080">22</span> <span style="COLOR: #000000">}</span></div>
		<p>
				<br />
				<strong>（2）位图剪贴板</strong>
				<br />
				<br />
		</p>
		<p>         大多数应用程序对图形数据采取的是位图的剪贴板数据格式。位图剪贴板的使用与文本剪贴板的使用是类似的，只是数据格式要指明为CF_BITMAP，而且在使用SetClipboardData（）或GetClipboardData（）函数时交给剪贴板或从剪贴板返回的是设备相关位图句柄。下面这段示例代码将把存在于剪贴板中的位图数据显示到程序的客户区：</p>
		<p>
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 获取安全窗口句柄</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">HWND hWnd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> GetSafeHwnd(); <br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 打开剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">::OpenClipboard(hWnd); <br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 获取剪贴板数据句柄</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">HANDLE hBitmap </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ::GetClipboardData(CF_BITMAP); <br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 获取设备环境句柄</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">HDC hDC </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ::GetDC(hWnd); <br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 创建与设备相关的内存环境</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">HDC hdcMem </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> CreateCompatibleDC(hDC); <br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 选择对象</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">SelectObject(hdcMem, hBitmap); <br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 设置映射模式</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">SetMapMode(hdcMem, GetMapMode(hDC)); <br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 得到位图对象</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">BITMAP bm; <br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">GetObject(hBitmap, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(BITMAP), </span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">bm);<br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 位图复制</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">BitBlt(hDC, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, bm.bmWidth, bm.bmHeight, hdcMem, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, SRCCOPY); <br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 释放设备环境句柄</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">::ReleaseDC(hWnd, hDC); <br /></span><span style="COLOR: #008080">22</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 删除内存环境</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">23</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">DeleteDC(hdcMem); <br /></span><span style="COLOR: #008080">24</span> <span style="COLOR: #000000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 关闭剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">25</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">::CloseClipboard(); </span></div>
		<p>         这个例子显示了如何在剪贴板保存位图：</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( OpenClipboard() )<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000">    EmptyClipboard();<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000">    CBitmap </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> junk </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> CBitmap();<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">    CClientDC cdc(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">    CDC dc;<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">    dc.CreateCompatibleDC(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">cdc);<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">    CRect client(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">    junk</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CreateCompatibleBitmap(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">cdc,client.Width(),client.Height());<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">    dc.SelectObject(junk);<br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000">    DrawImage(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">dc,CString(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Bitmap</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000">    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">复制数据到剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">    SetClipboardData(CF_BITMAP,junk</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">m_hObject);<br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">    CloseClipboard();<br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000">    delete junk;<br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #000000">}</span></div>
		<p>
				<br />
				<strong>（3）WMF数据的操作</strong>
		</p>
		<p>　　在剪贴板上读写图象数据是非常有用的功能，并且实现起来也很简单。下面的代码显示了如何将扩展图元文件复制到剪贴板：</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000">  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(OpenClipboard());<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"> EmptyClipboard();<br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">创建图元文件DC</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> CMetaFileDC </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> cDC </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> CMetaFileDC();<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"> cDC</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CreateEnhanced(GetDC(),NULL,NULL,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">the_name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">调用绘图例程<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #008000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">关闭CMetafileDC并获得它的句柄</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> HENHMETAFILE handle </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> cDC</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">CloseEnhanced();<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">复制到剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> SetClipBoardData(CF_ENHMETAFILE,handle);<br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> CloseClipboard();<br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">删除dc</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> delete cDC;<br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #000000"></span></div>
		<p>         下面的代码演示了从剪贴板获得图元文件并将其绘制到client DC上：</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(OpenClipboard())<br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">获得剪贴板数据</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> HENMETAFILE handle </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (HENMETAFILE)GetClipboardData(CF_ENHMETAFILE);<br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">显示</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> CClientDC dc(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"> CRect client(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"> dc.PlayMetaFile(handle,client);<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">关闭剪贴板</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000"> CloseClipboard();<br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"></span></div>
		<p> </p>
<img src ="http://www.cppblog.com/topjackhjj/aggbug/73835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/topjackhjj/" target="_blank">翾</a> 2009-06-11 14:47 <a href="http://www.cppblog.com/topjackhjj/articles/73835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CFileFind类的使用总结</title><link>http://www.cppblog.com/topjackhjj/articles/76664.html</link><dc:creator>翾</dc:creator><author>翾</author><pubDate>Sun, 15 Mar 2009 11:08:00 GMT</pubDate><guid>http://www.cppblog.com/topjackhjj/articles/76664.html</guid><wfw:comment>http://www.cppblog.com/topjackhjj/comments/76664.html</wfw:comment><comments>http://www.cppblog.com/topjackhjj/articles/76664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/topjackhjj/comments/commentRss/76664.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/topjackhjj/services/trackbacks/76664.html</trackback:ping><description><![CDATA[
		<div>
				<span style="FONT-SIZE: 14pt">1</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类的声明文件保存在</span>
				<span style="FONT-SIZE: 14pt">afx.h</span>
				<span style="FONT-SIZE: 14pt">头文件中。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">2</span>
				<span style="FONT-SIZE: 14pt">、该类的实现的功能：执行本地文件的查找</span>
				<span style="FONT-SIZE: 14pt">(</span>
				<span style="FONT-SIZE: 14pt">查找某个具体的文件，查找某类文件</span>
				<span style="FONT-SIZE: 14pt">x*.x*</span>
				<span style="FONT-SIZE: 14pt">，查找所有文件</span>
				<span style="FONT-SIZE: 14pt">*.*)</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">3</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类是</span>
				<span style="FONT-SIZE: 14pt">CGopherFileFind</span>
				<span style="FONT-SIZE: 14pt">和</span>
				<span style="FONT-SIZE: 14pt">CFtpFileFind</span>
				<span style="FONT-SIZE: 14pt">类的基类。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">4</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类的构造函数</span>
				<span style="FONT-SIZE: 14pt">::CFileFind()</span>
				<span style="FONT-SIZE: 14pt">和关闭函数</span>
				<span style="FONT-SIZE: 14pt">::Close()</span>
				<span style="FONT-SIZE: 14pt">我会成对使用。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">5</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类的成员函数我根据其操作特性划分为３类：查找操作类、获得文件属性类、判断文件属性类。</span>
				<span style="FONT-SIZE: 14pt">(</span>
				<span style="FONT-SIZE: 14pt">下面我先进行函数罗列并没有完整的描述函数的参数</span>
				<span style="FONT-SIZE: 14pt">)</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">查找操作类</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::FindFile();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::FindNextFile();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">获得文件属性类</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetCreationTime();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetLastAccessTime();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetLastWriteTime();</span>
		</div>
		<div style="TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 14pt">::GetFileName();</span>
		</div>
		<div style="TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 14pt">::GetRoot();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetFilePath();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetFileTitle();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetFileURL();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::GetLength();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      </span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">判断文件属性类</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsArchived();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsCompressed();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsDirectory();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsDots();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsHidden();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsNormal();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsReadOnly();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsSystem();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::IsTemporary();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      ::MatchesMask();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">6</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类中成员函数使用应注意的顺序</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      </span>
				<span style="FONT-SIZE: 14pt">在创建了</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">对象后，先执行</span>
				<span style="FONT-SIZE: 14pt">::FindFile()</span>
				<span style="FONT-SIZE: 14pt">函数，然后执行</span>
				<span style="FONT-SIZE: 14pt">::FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">，然后选择执行（获得文件属性类）的函数或者（判断文件属性类）函数。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">7</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CFileFind</span>
				<span style="FONT-SIZE: 14pt">类成员函数的详细分析</span>
		</div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL FindFile(LPCTSTR pstrName = null,DWORD dwUnused = 0);</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数若返回</span>
				<span style="FONT-SIZE: 14pt">非</span>
				<span style="FONT-SIZE: 14pt">0 </span>
				<span style="FONT-SIZE: 14pt">则表明执行成功，</span>
				<span style="FONT-SIZE: 14pt">0 </span>
				<span style="FONT-SIZE: 14pt">则表明执行不成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">pstrName</span>
				<span style="FONT-SIZE: 14pt">：需要查找的文件名，例：“</span>
				<span style="FONT-SIZE: 14pt">E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\MFC</span>
				<span style="FONT-SIZE: 14pt">例子</span>
				<span style="FONT-SIZE: 14pt">.rar</span>
				<span style="FONT-SIZE: 14pt">”，“</span>
				<span style="FONT-SIZE: 14pt">E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\MFC*.rar</span>
				<span style="FONT-SIZE: 14pt">”，“</span>
				<span style="FONT-SIZE: 14pt">E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\*.*</span>
				<span style="FONT-SIZE: 14pt">”，也可以是</span>
				<span style="FONT-SIZE: 14pt">NULL</span>
				<span style="FONT-SIZE: 14pt">表示“</span>
				<span style="FONT-SIZE: 14pt">*.*</span>
				<span style="FONT-SIZE: 14pt">”。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">dwUnused</span>
				<span style="FONT-SIZE: 14pt">：必须为</span>
				<span style="FONT-SIZE: 14pt">0</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL FindNextFile();</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数返回值</span>
				<span style="FONT-SIZE: 14pt">非</span>
				<span style="FONT-SIZE: 14pt">0 </span>
				<span style="FONT-SIZE: 14pt">还有符合条件的文件</span>
				<span style="FONT-SIZE: 14pt">，</span>
				<span style="FONT-SIZE: 14pt"> 0</span>
				<span style="FONT-SIZE: 14pt">表示是最后一个文件。</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetCreationTime(FILETIME *pFileTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetCreationTime(CTime&amp; refTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的某个文件的创建时间，返回值</span>
				<span style="FONT-SIZE: 14pt">非</span>
				<span style="FONT-SIZE: 14pt">0 </span>
				<span style="FONT-SIZE: 14pt">获得创建时间成功操作，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示执行获得创建时间失败或者</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">没有被执行的时候。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">FILETIME  *</span>
				<span style="FONT-SIZE: 14pt">：容纳时间的结构指针</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">CTime&amp;</span>
				<span style="FONT-SIZE: 14pt">：容纳时间的对象地址</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">此处介绍：</span>
				<span style="FONT-SIZE: 14pt">FILETIME</span>
				<span style="FONT-SIZE: 14pt">和</span>
				<span style="FONT-SIZE: 14pt">CTime</span>
				<span style="FONT-SIZE: 14pt">相互转换的处理方法：</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">FILETIME</span>
				<span style="FONT-SIZE: 14pt">转</span>
				<span style="FONT-SIZE: 14pt">CTime</span>
				<span style="FONT-SIZE: 14pt">的方法：</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">A</span>
				<span style="FONT-SIZE: 14pt">、</span>
				<span style="FONT-SIZE: 14pt">CTime</span>
				<span style="FONT-SIZE: 14pt">对象在初始化时可以传递</span>
				<span style="FONT-SIZE: 14pt">FILETIME</span>
				<span style="FONT-SIZE: 14pt">结构</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILETIME ft</span>
				<span style="FONT-SIZE: 14pt">；</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      CTime time(ft)</span>
				<span style="FONT-SIZE: 14pt">；</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">B</span>
				<span style="FONT-SIZE: 14pt">、将</span>
				<span style="FONT-SIZE: 14pt">FILETIME</span>
				<span style="FONT-SIZE: 14pt">转换为</span>
				<span style="FONT-SIZE: 14pt">SYSTEMTIME</span>
				<span style="FONT-SIZE: 14pt">，然后</span>
				<span style="FONT-SIZE: 14pt">CTime</span>
				<span style="FONT-SIZE: 14pt">对象在初始化时可以传递</span>
				<span style="FONT-SIZE: 14pt">SYSTEMTIME</span>
				<span style="FONT-SIZE: 14pt">结构</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILETIME ft</span>
				<span style="FONT-SIZE: 14pt">；</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      SYSTEMTIME st</span>
				<span style="FONT-SIZE: 14pt">；</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      BOOL bSuccess </span>
				<span style="FONT-SIZE: 14pt">＝</span>
				<span style="FONT-SIZE: 14pt"> ::FileTimeToSystemTime(&amp;ft , &amp;st);</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      CTime time(st)</span>
				<span style="FONT-SIZE: 14pt">；</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">CTime</span>
				<span style="FONT-SIZE: 14pt">转</span>
				<span style="FONT-SIZE: 14pt">FILETIME</span>
				<span style="FONT-SIZE: 14pt">方法：</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">CTime time(CTime::GetCurrentTime());</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">SYSTEMTIME st;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">time.GetAsSystemTime(st);</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">FILETIME ft;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">::SystemTimeToFileTime(&amp;st,&amp;ft);</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetLastAccessTime(FILETIME *pFileTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetLastAccessTime(CTime&amp; refTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得某个文件最后被访问的时间，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示执行成功，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示执行失败或者</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">函数没有执行的时候。</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetLastWriteTime(FILETIME *pFileTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual BOOL GetLastWriteTime(CTime&amp; refTime) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得某个文件最后被访问的时间，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示执行成功，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示执行失败或者</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">函数没有执行的时候。</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual CString GetFilePath() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的文件绝对路径，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">返回的结果是</span>
				<span style="FONT-SIZE: 14pt">CString</span>
				<span style="FONT-SIZE: 14pt">对象，例“</span>
				<span style="FONT-SIZE: 14pt">E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\MFC.rar</span>
				<span style="FONT-SIZE: 14pt">”</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual CString GetFileName() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的文件的全称，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">返回的结果是</span>
				<span style="FONT-SIZE: 14pt">CString</span>
				<span style="FONT-SIZE: 14pt">对象，例“</span>
				<span style="FONT-SIZE: 14pt">MFC.rar</span>
				<span style="FONT-SIZE: 14pt">”</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual CString GetFileTitle() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的文件的名称，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">返回的结果是</span>
				<span style="FONT-SIZE: 14pt">CString</span>
				<span style="FONT-SIZE: 14pt">对象，例“</span>
				<span style="FONT-SIZE: 14pt">MFC</span>
				<span style="FONT-SIZE: 14pt">”</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual CString GetRoot() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的文件的根目录，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">返回的结果是</span>
				<span style="FONT-SIZE: 14pt">CString</span>
				<span style="FONT-SIZE: 14pt">对象，例“</span>
				<span style="FONT-SIZE: 14pt">E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\</span>
				<span style="FONT-SIZE: 14pt">”</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">virtual CString GetFileURL() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来获得查找到的文件的</span>
				<span style="FONT-SIZE: 14pt">URL</span>
				<span style="FONT-SIZE: 14pt">路径，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">返回的结果是</span>
				<span style="FONT-SIZE: 14pt">CString</span>
				<span style="FONT-SIZE: 14pt">对象，例“</span>
				<span style="FONT-SIZE: 14pt">file://E:\\</span>
				<span style="FONT-SIZE: 14pt">编程工具</span>
				<span style="FONT-SIZE: 14pt">\\VC++\\MFC.rar</span>
				<span style="FONT-SIZE: 14pt">”</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">DWORD GetLength() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数返回值获得查找到的文件的长度，必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功。</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsArchived() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否是档案文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL  IsCompressed() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否是压缩文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsDirectory() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否是路径文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsDots() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否是“</span>
				<span style="FONT-SIZE: 14pt">.</span>
				<span style="FONT-SIZE: 14pt">”，“</span>
				<span style="FONT-SIZE: 14pt">..</span>
				<span style="FONT-SIZE: 14pt">”，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsHidden() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否隐藏文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsNormal() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否正常文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsReadOnly() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否只读文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsSystem() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否系统文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 12pt; COLOR: red">BOOL IsTemporary() const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件属性是否临时文件，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div> </div>
		<div>
				<span style="FONT-SIZE: 14pt">BOOL MatchesMask(DWORD dwMask) const;</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">该函数用来判断查找的文件的综合属性，非</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示是，</span>
				<span style="FONT-SIZE: 14pt">0</span>
				<span style="FONT-SIZE: 14pt">表示不是。必须在执行了</span>
				<span style="FONT-SIZE: 14pt">FindNextFile()</span>
				<span style="FONT-SIZE: 14pt">后该函数才能执行成功</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">dwMask</span>
				<span style="FONT-SIZE: 14pt">参数的使用方法：几种文件属性采用或运算（</span>
				<span style="FONT-SIZE: 14pt">|</span>
				<span style="FONT-SIZE: 14pt">）</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">文件属性的结构定义：</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_ARCHIVE</span>
				<span style="FONT-SIZE: 14pt">：档案文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_COMPRESSED</span>
				<span style="FONT-SIZE: 14pt">：压缩文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_DIRECTORY</span>
				<span style="FONT-SIZE: 14pt">：路径文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_NORMAL</span>
				<span style="FONT-SIZE: 14pt">：正常文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_READONLY</span>
				<span style="FONT-SIZE: 14pt">：只读文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_SYSTEM</span>
				<span style="FONT-SIZE: 14pt">：系统文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_TEMPORARY</span>
				<span style="FONT-SIZE: 14pt">：临时文件</span>
		</div>
		<div>
				<span style="FONT-SIZE: 14pt">      FILE_ATTRIBUTE_HIDDEN</span>
				<span style="FONT-SIZE: 14pt">：隐藏文件</span>
		</div>
		<div>
				<br />
				<br />
				<strong>
						<font color="#000099">原文地址</font>
				</strong>
				<a href="http://blog.csdn.net/dodream/archive/2007/07/10/1684446.aspx" target="_blank">http://blog.csdn.net/dodream/archive/2007/07/10/1684446.aspx</a>
		</div>
<img src ="http://www.cppblog.com/topjackhjj/aggbug/76664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/topjackhjj/" target="_blank">翾</a> 2009-03-15 19:08 <a href="http://www.cppblog.com/topjackhjj/articles/76664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>