﻿<?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++博客-Sleeping</title><link>http://www.cppblog.com/xiang08/</link><description>Note Book</description><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 23:40:52 GMT</lastBuildDate><pubDate>Tue, 07 Apr 2026 23:40:52 GMT</pubDate><ttl>60</ttl><item><title>DialogBox的若干问题</title><link>http://www.cppblog.com/xiang08/archive/2008/10/07/63430.html</link><dc:creator>祥子_随波逐流</dc:creator><author>祥子_随波逐流</author><pubDate>Tue, 07 Oct 2008 13:42:00 GMT</pubDate><guid>http://www.cppblog.com/xiang08/archive/2008/10/07/63430.html</guid><wfw:comment>http://www.cppblog.com/xiang08/comments/63430.html</wfw:comment><comments>http://www.cppblog.com/xiang08/archive/2008/10/07/63430.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xiang08/comments/commentRss/63430.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xiang08/services/trackbacks/63430.html</trackback:ping><description><![CDATA[<div class=lh3 id=veryContent style="OVERFLOW: hidden; WIDTH: 100%">
<table class=contentTable id=blogContentTable cellSpacing=0 cellPadding=0>
    <tbody>
        <tr>
            <td style="WORD-WRAP: break-word" vAlign=top>
            <div id=blogContainer style="FONT-SIZE: 16px"><img id=paperPicArea0 style="DISPLAY: none" src="http://imgcache.qq.com/ac/b.gif">
            <div id=paperTitleArea style="DISPLAY: none" align=center>&nbsp;</div>
            <font style="FONT-SIZE: x-small; LINE-HEIGHT: 1.3em">今天继续折腾那个List Box控件，发现一个问题，当对话框出来之后，被主窗体给刷屏了，不能得到子窗体的句柄。后经仔细调试，发现一些端倪。首先在调用　DialogBox函数时　，所生成的Dialog（我这里的Dialog面板里有一个Edit控件　两个按钮控件　和一个List Box控件）依次产生的消息队列如下所示：</font><wbr> <br>WM_SETFONT&nbsp;&nbsp;&nbsp;&nbsp;0x0030　　　　　　　　　　　　　　　　　设置字体 <br>WM_INITDIALOG　0x0110　　　　　　　　　　　　　　　　 初始化Dialog <br>WM_WINDOWPOSCHANGING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0046&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;窗体大小　位置等转变的消息 <br>WM_NCACTIVATE&nbsp;&nbsp; 0x0086　　　　　　　　　　改变一个非工作区域 sent to a window when its nonclient area needs to be changed to indicate an active or inactive state. <br>WM_ACTIVATE&nbsp;&nbsp;&nbsp;&nbsp; 0x0006&nbsp;&nbsp; 让你窗体无效　并激活子窗体 <br>WM_COMMAND　　　0x0111　(HIWORD(WPARAM))－&gt;LBN_SETFOCUS(4) -&gt;LBN_KILLFOCUS(5)　消息命令　ListBox <br>WM_USER&nbsp;&nbsp;&nbsp;&nbsp; 0x0400&nbsp;&nbsp;&nbsp;&nbsp;用户自定义消息 <br>WM_NCACTIVATE&nbsp;&nbsp;0x0086 <br>WM_SHOWWINDOW&nbsp;&nbsp; 0x0018&nbsp;&nbsp; 显示窗体 <br>WM_WINDOWPOSCHANGING 0x0046 <br>WM_NCPAINT 0x0085&nbsp;&nbsp;&nbsp;&nbsp;The WM_NCPAINT message is sent to a window when its frame must be painted. <br>WM_ERASEBKGND 0x0014&nbsp;&nbsp; 清楚窗口背景 <br>WM_WINDOWPOSCHANGED 0x0047&nbsp;&nbsp; <br>WM_GETICON 0x007F&nbsp;&nbsp;3次&nbsp;&nbsp; The WM_GETICON message is sent to a window to retrieve a handle to the large or small icon associated with a window <br>WM_NCCALCSIZE 0x0083　&nbsp;&nbsp;计算机窗体大小尺寸 <br>WM_MOVE 0x0003&nbsp;&nbsp;&nbsp;&nbsp; 移动 <br>WM_SIZE 0x0005&nbsp;&nbsp;&nbsp;&nbsp; 改变大小 <br>WM_PAINT 0x000F&nbsp;&nbsp;&nbsp;&nbsp;绘制窗体 <br>WM_CTLCOLORBTN 0x0135&nbsp;&nbsp; 绘制按钮的颜色 <br>WM_CTLCOLORLISTBOX 0x0134&nbsp;&nbsp;绘制Listbox的颜色 <br>WM_CTLCOLOREDIT 0x0133&nbsp;&nbsp; 绘制Edit的颜色 <br>WM_POWERBROADCAST 0x0218&nbsp;&nbsp; broadcast to an application to notify it of power-management events <br>while(1)　一直循环以下的两个消息 <br>WM_NCACTIVATE&nbsp;&nbsp;0x0086 <br>WM_WINDOWPOSCHANGING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0046 <br><br>代码如下： <br>
            <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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">BOOL&nbsp;CALLBACK&nbsp;&nbsp;ListBoxTest(HWND&nbsp;hWnd,UINT&nbsp;message&nbsp;,&nbsp;WPARAM&nbsp;wParam,&nbsp;LPARAM&nbsp;lParam)&nbsp;<br><img id=Codehighlighter1_83_1338_Open_Image onclick="this.style.display='none'; Codehighlighter1_83_1338_Open_Text.style.display='none'; Codehighlighter1_83_1338_Closed_Image.style.display='inline'; Codehighlighter1_83_1338_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_83_1338_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_83_1338_Closed_Text.style.display='none'; Codehighlighter1_83_1338_Open_Image.style.display='inline'; Codehighlighter1_83_1338_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_83_1338_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_83_1338_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;wmId&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;LOWORD(wParam&nbsp;);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;wmEvent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;HIWORD(wParam)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>HDC&nbsp;hDc&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>PAINTSTRUCT&nbsp;ps&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>HWND&nbsp;hListBox&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(message)&nbsp;<br><img id=Codehighlighter1_219_1321_Open_Image onclick="this.style.display='none'; Codehighlighter1_219_1321_Open_Text.style.display='none'; Codehighlighter1_219_1321_Closed_Image.style.display='inline'; Codehighlighter1_219_1321_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_219_1321_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_219_1321_Closed_Text.style.display='none'; Codehighlighter1_219_1321_Open_Image.style.display='inline'; Codehighlighter1_219_1321_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_219_1321_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_219_1321_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;WM_INITDIALOG:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;hListBox&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetDlgItem(hWnd,IDC_LIST_TEST)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;MyData[i].Name[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;<br><img id=Codehighlighter1_341_473_Open_Image onclick="this.style.display='none'; Codehighlighter1_341_473_Open_Text.style.display='none'; Codehighlighter1_341_473_Closed_Image.style.display='inline'; Codehighlighter1_341_473_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top></span><span id=Codehighlighter1_341_473_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hListBox,LB_ADDSTRING,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,(LPARAM)MyData[i].Name)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hListBox,LB_SETITEMDATA,&nbsp;&nbsp;i&nbsp;,(LPARAM)i)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;SetFocus(hListBox);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(TRUE)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;WM_PAINT:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;hDc&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;BeginPaint(hWnd,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">ps)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">MSGPRINT(_T("Print"))&nbsp;;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;EndPaint(hWnd,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">ps);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;LB_ADDFILE:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;WM_COMMAND:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(wmId)&nbsp;<br><img id=Codehighlighter1_709_1318_Open_Image onclick="this.style.display='none'; Codehighlighter1_709_1318_Open_Text.style.display='none'; Codehighlighter1_709_1318_Closed_Image.style.display='inline'; Codehighlighter1_709_1318_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top>{</span><span id=Codehighlighter1_709_1318_Open_Text><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;IDC_LIST_TEST:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(wmEvent)&nbsp;<br>&nbsp;&nbsp;&nbsp;{</span><span id=Codehighlighter1_761_1074_Open_Text><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;LBN_SELCHANGE:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">MSGPRINT(_T("LBN_SELCHANGE"));&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;LBN_DBLCLK:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">MSGPRINT(_T("LBN_DBLCLK"));&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;LBN_SETFOCUS:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">MSGPRINT(_T("LBN_SETFOCUS"))&nbsp;;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;LBN_KILLFOCUS:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">MSGPRINT(_T("LBN_KILLFOCUS"))&nbsp;;&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;FALSE&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;IDOK:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MSGPRINT(_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">IDOK</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;EndDialog(hWnd,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;TRUE;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;IDCANCEL:&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MSGPRINT(_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">IDCANCEL</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;EndDialog(hWnd,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;TRUE&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;FALSE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
            <br>如果最后返回TRUE那么窗体的着色会很有问题，Dialog的颜色和背景颜色完全一样，导致不能看到一个窗体的存在，所以这里必须返回FALSE, <br>MSDN作出的解释如下：Typically, the dialog box procedure should return TRUE if it processed the message, and FALSE if it did not. If the dialog box procedure returns FALSE, the dialog manager performs the default dialog operation in response to the message. <br>意即，如果这个窗体想处理哪个消息就返回TRUE，如果不想处理这个消息就返回FALSE，所以在最后应该返回False，即默认不处理那些消息而只算WM_INITDIALOG 和其它一些IDOK IDCANCEL的消息。 <br>If the dialog box procedure processes a message that requires a specific return value, the dialog box procedure should set the desired return value by calling <u><wbr><font style="LINE-HEIGHT: 1.3em" color=#0000ff>SetWindowLong</font><wbr></u><wbr>(<em><wbr>hwndDlg</em><wbr>, DWL_MSGRESULT, <em><wbr>lResult</em><wbr>) immediately before returning TRUE. Note that you must call <strong><wbr>SetWindowLong</strong><wbr> immediately before returning TRUE; doing so earlier may result in the DWL_MSGRESULT value being overwritten by a nested dialog box message. <br><br>这个嘛　　　靠　英文　烂！勉勉强强<br>如果窗体在处理一个消息时需要显示地返回一个值，那这个窗体应该在返回TRUE前调用SetWindoLong(hWndDlg,DWL_MSGRESULT,lpResult)函数更改想要返回的值.切记一定要马上调用该函数在返回TRUE之前，尽可能早地通过DWL_MSGRESULT去改写真正的Result，by a nested dialog box message. 　他妈的这句怎么翻译？<br><br><br>现在都开始怀疑弄这些消息有什么用，用MFC肯定是一个更好的选择。在List Box里增加和删除内容都是太烦了，都是通过SendMessage来完成的。不知道能坚持学到什么时候。<br></div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<img src ="http://www.cppblog.com/xiang08/aggbug/63430.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xiang08/" target="_blank">祥子_随波逐流</a> 2008-10-07 21:42 <a href="http://www.cppblog.com/xiang08/archive/2008/10/07/63430.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于FormatMessage的错误</title><link>http://www.cppblog.com/xiang08/archive/2008/10/05/63278.html</link><dc:creator>祥子_随波逐流</dc:creator><author>祥子_随波逐流</author><pubDate>Sun, 05 Oct 2008 10:30:00 GMT</pubDate><guid>http://www.cppblog.com/xiang08/archive/2008/10/05/63278.html</guid><wfw:comment>http://www.cppblog.com/xiang08/comments/63278.html</wfw:comment><comments>http://www.cppblog.com/xiang08/archive/2008/10/05/63278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xiang08/comments/commentRss/63278.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xiang08/services/trackbacks/63278.html</trackback:ping><description><![CDATA[<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#ifdef&nbsp;UNICODE&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;WCHAR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;TYPESTR&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;WCHAR&nbsp;TYPECHAR&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">UNICODE&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;TYPESTR&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;TYPECHAR&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;ERRINFO&nbsp;_T("调试错误信息")&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>VOID&nbsp;PrintError(DWORD&nbsp;dwErrNo,TYPESTR&nbsp;szFileName,DWORD&nbsp;LineNo)&nbsp;<br><img id=Codehighlighter1_238_1037_Open_Image onclick="this.style.display='none'; Codehighlighter1_238_1037_Open_Text.style.display='none'; Codehighlighter1_238_1037_Closed_Image.style.display='inline'; Codehighlighter1_238_1037_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top></span><span id=Codehighlighter1_238_1037_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>TCHAR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;szErrBuff&nbsp;;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;TCHAR&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">TYPESTR&nbsp;szBuff&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(TCHAR</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)&nbsp;LocalAlloc(LPTR,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(TYPECHAR)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">512</span><span style="COLOR: #000000">)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(szBuff&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;NULL)&nbsp;<br><img id=Codehighlighter1_356_420_Open_Image onclick="this.style.display='none'; Codehighlighter1_356_420_Open_Text.style.display='none'; Codehighlighter1_356_420_Closed_Image.style.display='inline'; Codehighlighter1_356_420_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top></span><span id=Codehighlighter1_356_420_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;MessageBox(NULL,_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">内存分配失败</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),ERRINFO,MB_OK)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;这个地方报&nbsp;读取位置&nbsp;0x00000000&nbsp;时发生访问冲突&nbsp;或者&nbsp;The&nbsp;variable&nbsp;'szErrBuff'&nbsp;is&nbsp;being&nbsp;used&nbsp;without&nbsp;being&nbsp;defined.&nbsp;<br></span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp; //原因是 包含|&nbsp;FORMAT_MESSAGE_FROM_STRING<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;FORMAT_MESSAGE_FROM_SYSTEM,&nbsp;<br></span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span><span style="COLOR: #008000">&nbsp;|&nbsp;FORMAT_MESSAGE_FROM_STRING,&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;NULL,&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dwErrNo,&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(LPTSTR)&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">szErrBuff,&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(szErrBuff),&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NULL)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>#ifdef&nbsp;UNICODE&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>wsprintf(szBuff,L</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s&nbsp;第%d行；错误信息：%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,szFileName,LineNo,szErrBuff)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">#else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>sprintf(szBuff,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">文件名%s&nbsp;第%d行；错误信息：%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,szFileName,LineNo,szErrBuff)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>MessageBox(NULL,szBuff,ERRINFO,MB_OK)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>LocalFree((HLOCAL)szErrBuff)&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>LocalFree(&nbsp;szBuff);&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>
<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>VOID&nbsp;TestForPrintError()<br><img id=Codehighlighter1_26_820_Open_Image onclick="this.style.display='none'; Codehighlighter1_26_820_Open_Text.style.display='none'; Codehighlighter1_26_820_Closed_Image.style.display='inline'; Codehighlighter1_26_820_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top></span><span id=Codehighlighter1_26_820_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;SECURITY_ATTRIBUTES&nbsp;sp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sp.nLength&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(sp)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sp.bInheritHandle&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;FALSE&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sp.lpSecurityDescriptor&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;NULL&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>#ifdef&nbsp;UNICODE&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TYPESTR&nbsp;szFileName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">d:\\he.txt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">#else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TYPESTR&nbsp;szFileName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">d:\\he.txt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如何判断文件是否已经存在了？</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;hFile&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;CreateFile(szFileName,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GENERIC_READ&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">GENERIC_WRITE&nbsp;</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">&nbsp;GENERIC_EXECUTE&nbsp;,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">FILE_SHARE_READ&nbsp;|&nbsp;FILE_SHARE_WRITE&nbsp;|&nbsp;FILE_SHARE_DELETE,</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&amp;sp,</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE_ALWAYS,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">|&nbsp;OPEN_EXISTING,&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果有这个会报　在没有原文件的时候会报系统找不到指定的文件</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE_ATTRIBUTE_NORMAL,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(hFile&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;&nbsp;INVALID_HANDLE_VALUE)<br><img id=Codehighlighter1_582_673_Open_Image onclick="this.style.display='none'; Codehighlighter1_582_673_Open_Text.style.display='none'; Codehighlighter1_582_673_Closed_Image.style.display='inline'; Codehighlighter1_582_673_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_582_673_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_582_673_Closed_Text.style.display='none'; Codehighlighter1_582_673_Open_Image.style.display='inline'; Codehighlighter1_582_673_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</span><span id=Codehighlighter1_582_673_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwErrNo&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetLastError()&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRINTERROINFO(GetLastError()&nbsp;,__FILE__,__LINE__)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;lenth&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//这个函数好像比较少用了　不支持Unicode<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">WriteFile(hFile,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">lenth,NULL))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRINTERROINFO(GetLastError()&nbsp;,__FILE__,__LINE__)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(hFile)&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
</span></div>
<img src ="http://www.cppblog.com/xiang08/aggbug/63278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xiang08/" target="_blank">祥子_随波逐流</a> 2008-10-05 18:30 <a href="http://www.cppblog.com/xiang08/archive/2008/10/05/63278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>