<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title type="text">PURE LAB</title>
      <updated>2010-09-05T11:35:59+09:00</updated>
   <id>http://purelab.org/zbxe/?module=rss&amp;act=atom</id>
   <link rel="alternate" type="text/html" hreflang="ko" href="http://purelab.org/zbxe/"/>
   <link rel="self" type="application/atom+xml" href="http://purelab.org/zbxe/?module=rss&amp;act=atom"/>
   <generator uri="http://www.xpressengine.com/" version="1.4.3.1">XpressEngine</generator>
   <entry>
      <title>[해결법] error C2065: &apos;strcpy_instead_use_StringCbCopyA_or_StringCchCopyA&apos; : undeclared identifier</title>
      <id>http://purelab.org/zbxe/26686</id>
      <published>2010-08-30T12:29:11+09:00</published>
      <updated>2010-09-02T13:28:30+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/26686"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/26686#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&lt;strong&gt;* &lt;/strong&gt;strcpy 을 strncpy로 변경해준다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ex : &lt;/strong&gt;strncpy( 변수명, 변수명, MAX_PATH );&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>POST 방식으로 웹에 데이터 전송 후 페이지 내용 얻기(VC6.0버전)</title>
      <id>http://purelab.org/zbxe/19028</id>
      <published>2010-07-28T03:01:08+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/19028"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/19028#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;6.0버전에서 POST 방식을 사용하기 위해서는 Unicode 및 몇가지 세팅 작업을 해야됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;VC6.0 에서 Unicode 세팅방법.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#1. Project -&amp;gt; Setting -&amp;gt; C/C++ 에서&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Preprocessor definitions: 항목에서 _MBCS 를 지우고 UNICODE,_UNICODE 를 추가&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#2. libcmtd.lib(wincrt0.obj) : error LNK2001: unresolved external symbol &lt;a class=&quot;con_link&quot; href=&quot;mailto:_WinMain@16&quot; target=&quot;_blank&quot;&gt;_WinMain@16&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;위 링크에러&amp;nbsp;발생시 프로젝트 세팅 링크탭에서&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /entry:&quot;wWinMainCRTStartup&quot; 옵션을 추가&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#3. mfc42u.lib 오류가 발생하면 첨부파일을 다운받아서 압축을 풀어서 아래 경로에 복사합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( C:\Program Files\Microsoft Visual Studio\VC98\Lib )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;//====================================================================================&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;HRESULT hr;&lt;br  /&gt;IWebBrowserApp* pWBApp = NULL;&lt;br  /&gt;BSTR bstrURL = NULL, bstrHeaders = NULL;&lt;br  /&gt;VARIANT vFlags = {0}, vTargetFrameName = {0}, vPostData = {0}, vHeaders = {0};&lt;/p&gt;
&lt;p&gt;CString strPostData = _T( &quot;id=test&amp;amp;pw=1234&quot; ); &lt;strong&gt;&lt;span style=&quot;COLOR: #009e25&quot;&gt;// POST로 전달 할 파라메타&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CoInitialize( NULL );&lt;/p&gt;
&lt;p&gt;if( FAILED( hr = CoInitialize(NULL) ) )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br  /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if( FAILED( hr = CoCreateInstance( CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowserApp(LPVOID*)&amp;amp;pWBApp) ) )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br  /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;bstrURL = SysAllocString(&amp;nbsp; _T(&quot;&lt;a href=&quot;http://www.test.com/login_app.php&quot;&gt;http://www.test.com/login.php&lt;/a&gt;&quot;) ); &lt;strong&gt;&lt;span style=&quot;COLOR: #009e25&quot;&gt;// 로그인 할 URL 주소&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if( !bstrURL )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br  /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;bstrHeaders = SysAllocString(&amp;nbsp; _T(&quot;Content-Type: application/x-www-form-urlencoded&quot;)&amp;nbsp; );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if( !bstrHeaders )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br  /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;vHeaders.vt = VT_BSTR;&lt;br  /&gt;&amp;nbsp;vHeaders.bstrVal = bstrHeaders;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;SAFEARRAY FAR *sfPost = NULL;&lt;br  /&gt;&amp;nbsp;SAFEARRAYBOUND bound;&lt;br  /&gt;&amp;nbsp;bound.cElements = strPostData.GetLength();&lt;br  /&gt;&amp;nbsp;bound.lLbound = 0;&lt;br  /&gt;&amp;nbsp;sfPost = SafeArrayCreate( VT_UI1, 1, &amp;amp;bound );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;for( long idx = 0; idx &amp;lt; (signed)bound.cElements; idx++ )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SafeArrayPutElement( sfPost, &amp;amp;idx, strPostData.GetBuffer(bound.cElements) + idx );&lt;br  /&gt;}&lt;br  /&gt;&lt;/p&gt;
&lt;p&gt;strPostData.ReleaseBuffer();&lt;/p&gt;
&lt;p&gt;VARIANT vaPost;&lt;br  /&gt;vaPost.vt = VT_ARRAY;&lt;br  /&gt;vaPost.parray = sfPost;&lt;/p&gt;
&lt;p&gt;hr = pWBApp-&amp;gt;Navigate( bstrURL, &amp;amp;vFlags, &amp;amp;vTargetFrameName, &amp;amp;vaPost, &amp;amp;vHeaders );&lt;br  /&gt;//pWBApp-&amp;gt;put_Visible( VARIANT_TRUE ); &lt;strong&gt;&lt;span style=&quot;COLOR: #009e25&quot;&gt;// IE새창 띄우기&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SafeArrayDestroy( sfPost );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sleep( 1000 );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;IDispatch* pHtmlDispatch = NULL;&lt;br  /&gt;IHTMLDocument2* pHtmlDoc = NULL;&lt;br  /&gt;IHTMLElement* pBody = NULL;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;pWBApp-&amp;gt;get_Document( &amp;amp;pHtmlDispatch );&lt;br  /&gt;pHtmlDispatch-&amp;gt;QueryInterface( IID_IHTMLDocument2, (LPVOID*)&amp;amp;pHtmlDoc );&lt;br  /&gt;pHtmlDoc-&amp;gt;get_body( &amp;amp;pBody );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;BSTR bstrBody;&lt;br  /&gt;pBody-&amp;gt;get_outerHTML( &amp;amp;bstrBody );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CString strBody;&lt;br  /&gt;strBody.Format( _T(&quot;%s&quot;), bstrBody );&lt;br  /&gt;AfxMessageBox( strBody );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SysFreeString( vHeaders.bstrVal );&lt;br  /&gt;SysFreeString( vTargetFrameName.bstrVal );&lt;br  /&gt;pWBApp-&amp;gt;Release();&lt;br  /&gt;pHtmlDispatch-&amp;gt;Release();&lt;br  /&gt;pHtmlDoc-&amp;gt;Release();&lt;br  /&gt;pBody-&amp;gt;Release();&lt;br  /&gt;CoUninitialize();&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>POST 방식으로 데이터 전송</title>
      <id>http://purelab.org/zbxe/18870</id>
      <published>2010-07-28T00:06:01+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/18870"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/18870#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&lt;strong&gt;다이얼로그&lt;/strong&gt;에 &lt;strong&gt;웹브라우저 컨트롤&lt;/strong&gt;인 &lt;strong&gt;CWebBrowser2&lt;/strong&gt;를 삽입하고,&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;CWebBrowser2 에 &lt;strong&gt;쿠키를 설정하려고 했으나 실패&lt;/strong&gt;(CInternetSession과 연결 시도 실패)하고,&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;결국 &lt;strong&gt;POST 방식으로&lt;/strong&gt; 하려했으나....여러번 실패 끝에 성공을 하였다.&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&lt;strong&gt;Post Data를...일반 문자열 BSTR이 아닌 VT_ARRAY로 해야하는 것을&lt;/strong&gt; 간신히 찾았다.&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;참고로 m_ctlWebBrowser의 형은 다음과 같다.&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;CWebBrowser2&amp;nbsp;&amp;nbsp;&amp;nbsp; m_ctlWebBrowser;&lt;/strong&gt;&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;--------------- 소스 ---------------&amp;nbsp;Written by dukgun.com(덕근닷컴)&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString strUrl = _T(&quot;http://www.dukgun.com/test.asp&quot;);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString strHeader = _T(&quot;Content-Type: application/x-www-form-urlencoded\r\n&quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp; // _T(&quot;&quot;)으로 해도 됨&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString &lt;strong&gt;strPostData = _T(&quot;id=yunskorea&amp;amp;passwd=1234&quot;);&amp;nbsp; // POST 데이터&lt;/strong&gt;&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &lt;strong&gt;HTTP 헤더&lt;/strong&gt; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARIANT vHeader;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vHeader.vt = VT_BSTR;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vHeader.bstrVal = strHeader.AllocSysString();&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &lt;strong&gt;POST 데이터 변환&lt;/strong&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAFEARRAY FAR *sfPost = NULL;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAFEARRAYBOUND bound;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bound.cElements = strPostData.GetLength();//_tcslen(strPost);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bound.lLbound = 0;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sfPost = SafeArrayCreate(VT_UI1, 1, &amp;amp;bound);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (long lIndex = 0;lIndex &amp;lt; (signed)bound.cElements;lIndex++)&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;SafeArrayPutElement&lt;/strong&gt;(sfPost, &amp;amp;lIndex, &lt;strong&gt;strPostData.GetBuffer(bound.cElements)+lIndex&lt;/strong&gt;);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPostData.ReleaseBuffer();&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARIANT vaPost;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vaPost.vt = &lt;strong&gt;VT_ARRAY&lt;/strong&gt;;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vaPost.parray = sfPost;&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;m_ctlWebBrowser.Navigate(m_strURL,0,NULL,&amp;amp;vaPost,&amp;amp;vHeader);&lt;/strong&gt;&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SafeArrayDestroy(sfPost);&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;--------------------------&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;POST 데이터를 VT_ARRAY형이 아닌 VT_BSTR로 할 경우...&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;POST 방식이 아닌 GET 방식으로 호출되어, POST 데이터를 아예 인식 못하게 된다.&lt;/p&gt;&lt;br  /&gt;
&lt;p&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Written by dukgun.com(덕근닷컴) --&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>CString → BSTR 변환</title>
      <id>http://purelab.org/zbxe/17247</id>
      <published>2010-07-26T20:10:27+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/17247"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/17247#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;span style=&quot;LINE-HEIGHT: 160%&quot;&gt;&amp;nbsp;
&lt;table style=&quot;TABLE-LAYOUT: fixed&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot; border=&quot;0&quot;&gt;
&lt;colgroup&gt;
&lt;col width=&quot;100%&quot; /&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot;&gt;// BSTR -&amp;gt; CString&lt;br  /&gt;CString bstrToCString(BSTR bstr) {&lt;br  /&gt;&amp;nbsp;&amp;nbsp;char* pbstr;&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;USES_CONVERSION;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;pbstr = OLE2A(bstr);&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;return CString(pbstr);&lt;br  /&gt;} &lt;br  /&gt;&lt;br  /&gt;// CString -&amp;gt; BSTR&lt;br  /&gt;BSTR CStringTobstr(CString str) {&lt;br  /&gt;&amp;nbsp;&amp;nbsp;return str.AllocSysString();&lt;br  /&gt;}&lt;br  /&gt;&lt;br  /&gt;// BSTR -&amp;gt; char*&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;BSTR inputdata;&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;char *pbstr;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;pbstr = OLE2A(inputdata);&lt;br  /&gt;}&lt;br  /&gt;&lt;br  /&gt;// char* -&amp;gt; BSTR&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;TCHAR szTitle[512];&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;_bstr_t bstrText = szTitle;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;*bstrTitle = bstrText.copy();&lt;br  /&gt;}&lt;br  /&gt;&lt;br  /&gt;// CString -&amp;gt; CComVariant&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;CComVariant out(str.AllocSysString());&lt;br  /&gt;&amp;nbsp;&amp;nbsp; 혹은 &lt;br  /&gt;&amp;nbsp;&amp;nbsp;CComVariant out(str);&lt;br  /&gt;}&lt;br  /&gt;&lt;br  /&gt;// CComVariant -&amp;gt; CString&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;CString szTmp;&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;szTmp = comvariant.bstrVal;&lt;br  /&gt;}&lt;br  /&gt;&lt;br  /&gt;// BSTR -&amp;gt; VARIANT&lt;br  /&gt;VARIANT VariantString(BSTR str) {&lt;br  /&gt;&amp;nbsp;&amp;nbsp;VARIANT var;&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;VariantInit(&amp;amp;var);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;V_BSTR(&amp;amp;var) = SysAllocString(str);&lt;br  /&gt;&amp;nbsp;&amp;nbsp;V_VT(&amp;amp;var) = VT_BSTR;&lt;br  /&gt;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;return var;&lt;br  /&gt;} &lt;br  /&gt;&lt;!--&quot;&lt;--&gt;&lt;/--&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>POST 방식으로 쿼리(DATA) 전송</title>
      <id>http://purelab.org/zbxe/17173</id>
      <published>2010-07-26T18:05:51+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/17173"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/17173#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;div&gt;#include &amp;lt;windows.h&amp;gt;&lt;/div&gt;
&lt;div&gt;#define INITGUID&lt;/div&gt;
&lt;div&gt;#include &amp;lt;initguid.h&amp;gt;&lt;/div&gt;
&lt;div&gt;#include &amp;lt;exdisp.h&amp;gt;&lt;/div&gt;
&lt;div&gt;#include &amp;lt;memory.h&amp;gt;&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;HRESULT GetPostData(LPVARIANT pvPostData);&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;void main()&lt;/div&gt;
&lt;div&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;HRESULT hr;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;IWebBrowserApp* pWBApp = NULL; // Derived from IWebBrowser&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;BSTR bstrURL = NULL, bstrHeaders = NULL;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;VARIANT vFlags = {0},&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;vTargetFrameName = {0},&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;vPostData = {0},&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;vHeaders = {0};&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (FAILED(hr = CoInitialize(NULL)))&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;return;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (FAILED(hr = CoCreateInstance(CLSID_InternetExplorer,&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;NULL,&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;CLSCTX_SERVER,&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;IID_IWebBrowserApp,&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;(LPVOID*)&amp;amp;pWBApp)))&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;goto Error;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;bstrURL = SysAllocString(L&quot;http://&amp;lt;server&amp;gt;/scripts/navpost.asp&quot; );&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (!bstrURL)&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;goto Error;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;bstrHeaders = SysAllocString(&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;L&quot;Content-Type: application/x-www-form-urlencoded\r\n&quot; );&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (!bstrHeaders)&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;goto Error;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;V_VT(&amp;amp;vHeaders) = VT_BSTR;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;V_BSTR(&amp;amp;vHeaders) = bstrHeaders;&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;hr = GetPostData(&amp;amp;vPostData);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;hr = pWBApp-&amp;gt;Navigate(bstrURL, &amp;amp;vFlags,&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;&amp;amp;vTargetFrameName, &amp;amp;vPostData, &amp;amp;vHeaders);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;pWBApp-&amp;gt;put_Visible(VARIANT_TRUE);&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;Error:&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (bstrURL) SysFreeString(bstrURL);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (bstrHeaders) SysFreeString(bstrHeaders);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;VariantClear(&amp;amp;vPostData);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (pWBApp) pWBApp-&amp;gt;Release();&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;CoUninitialize();&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;// Pack some data into a SAFEARRAY of BYTEs. Return in a VARIANT&lt;/div&gt;
&lt;div&gt;HRESULT GetPostData(LPVARIANT pvPostData)&lt;/div&gt;
&lt;div&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;HRESULT hr;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;LPSAFEARRAY psa;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;LPCTSTR cszPostData = &quot;FName=Matt&amp;amp;Flavor=Mocha+Chip&quot;;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;UINT cElems = lstrlen(cszPostData);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;LPSTR pPostData;&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (!pvPostData)&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;return E_POINTER;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;VariantInit(pvPostData);&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;psa = SafeArrayCreateVector(VT_UI1, 0, cElems);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;if (!psa)&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;		&lt;/span&gt;return E_OUTOFMEMORY;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;hr = SafeArrayAccessData(psa, (LPVOID*)&amp;amp;pPostData);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;memcpy(pPostData, cszPostData, cElems);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;hr = SafeArrayUnaccessData(psa);&lt;/div&gt;
&lt;div&gt;&lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;V_VT(pvPostData) = VT_ARRAY l VT_UI1;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;V_ARRAY(pvPostData) = psa;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;WHITE-SPACE: pre&quot;&gt;	&lt;/span&gt;return NOERROR;&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>uuid.lib(ocidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module 해결책</title>
      <id>http://purelab.org/zbxe/17170</id>
      <published>2010-07-26T18:01:25+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/17170"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/17170#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;div&gt;&lt;strong&gt;에러 메시지&lt;/strong&gt;&lt;br  /&gt;uuid.lib(ocidl_i.obj) : &lt;span class=&quot;Apple-style-span&quot; style=&quot;COLOR: rgb(227,22,0)&quot;&gt;fatal error LNK11&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;COLOR: rgb(227,22,0)&quot;&gt;03&lt;/span&gt;: debugging information corrupt; recompile module&lt;/div&gt;
&lt;div&gt;Error executing link.exe. &lt;br  /&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;해결책 &lt;/strong&gt;
&lt;div&gt;C:\Program Files\Microsoft Platform SDK\Lib 폴더의&amp;nbsp;uuid.lib 파일의 이름을 삭제 또는 변경해주면 됩니다.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>바탕화면 경로얻기</title>
      <id>http://purelab.org/zbxe/16170</id>
      <published>2010-07-20T06:54:41+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/16170"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/16170#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&amp;nbsp;char szDesktopPath[MAX_PATH];&lt;br  /&gt;&amp;nbsp;SHGetSpecialFolderPath( NULL, szDesktopPath, CSIDL_DESKTOP, FALSE );&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>URL Encode / Decode</title>
      <id>http://purelab.org/zbxe/15951</id>
      <published>2010-07-05T01:24:23+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/15951"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/15951#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;CString EnCodeStr(CString ToCode) &lt;br  /&gt;{ &lt;br  /&gt;&amp;nbsp; CString RetStr,AddStr; &lt;br  /&gt;&amp;nbsp; int i,max; &lt;br  /&gt;&amp;nbsp; unsigned short asc; &lt;br  /&gt;&amp;nbsp; unsigned char c; &lt;br  /&gt;&amp;nbsp; max = (unsigned int)ToCode.GetLength(); &lt;br  /&gt;&amp;nbsp; for(i=0;i&amp;lt;max;i++) &lt;br  /&gt;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = ToCode[i]; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asc = c;//(unsigned int)c; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(asc&amp;gt;47 &amp;amp;&amp;amp; asc&amp;lt;58) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=c;//Interim[(int)i]; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(asc&amp;gt;64 &amp;amp;&amp;amp; asc&amp;lt;91) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=c;//Interim[(int)i]; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(asc&amp;gt;96 &amp;amp;&amp;amp; asc&amp;lt;123) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=c;//Interim[(int)i]; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(asc==32) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=&quot;+&quot;; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddStr.Format(&quot;%%%2x&quot;,asc); &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int iv = (int)AddStr.GetAt(1); &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((int)AddStr.GetAt(1)==32) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddStr.SetAt(1,&apos;0&apos;); &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=AddStr; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp; return RetStr; &lt;br  /&gt;} &lt;/p&gt;
&lt;p&gt;CString DeCodeStr(CString ToCode) &lt;br  /&gt;{ &lt;br  /&gt;&amp;nbsp; CString RetStr,AddStr; &lt;br  /&gt;&amp;nbsp; int i,max; &lt;br  /&gt;&amp;nbsp; unsigned short asc; &lt;br  /&gt;&amp;nbsp; unsigned char c; &lt;br  /&gt;&amp;nbsp; max = (unsigned int)ToCode.GetLength(); &lt;br  /&gt;&amp;nbsp; for(i=0;i&amp;lt;max;) &lt;br  /&gt;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = ToCode[i]; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; asc = c;//(unsigned int)c; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(asc==37) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddStr=ToCode.Mid(i+1,2); &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+=3; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sscanf((LPCTSTR)AddStr,&quot;%2x&quot;,&amp;amp;asc); &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr+=(char)asc; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(asc==43) &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr += &apos; &apos;; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RetStr += c; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp; } &lt;br  /&gt;&amp;nbsp; return RetStr; &lt;br  /&gt;}&lt;br  /&gt;&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>단축키 적용( Ctrl + S ) 적용시</title>
      <id>http://purelab.org/zbxe/15610</id>
      <published>2010-06-14T18:17:26+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/15610"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/15610#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;if( HIBYTE( GetAsyncKeyState( VK_CONTROL) ) )&lt;br  /&gt;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp; if( pMsg-&amp;gt;wParam == &apos;S&apos; ) &lt;br  /&gt;&amp;nbsp;&amp;nbsp; {&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 진행 할 이벤트&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return TRUE;&lt;br  /&gt;&amp;nbsp;&amp;nbsp; }&lt;br  /&gt;}&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>폴더존재 유무 확인방법</title>
      <id>http://purelab.org/zbxe/14303</id>
      <published>2010-05-05T20:14:24+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/14303"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/14303#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&amp;nbsp;CFileFind dirFind;&lt;br  /&gt;&amp;nbsp;&lt;br  /&gt;&amp;nbsp;if( dirFind.FindFile( &quot;C:\\Program Files&quot; ) )&lt;br  /&gt;&amp;nbsp;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;AfxMessageBox( &quot;Yes&quot; );&lt;br  /&gt;&amp;nbsp;}&lt;br  /&gt;&amp;nbsp;else&lt;br  /&gt;&amp;nbsp;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;AfxMessageBox( &quot;No&quot; );&lt;br  /&gt;&amp;nbsp;}&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>사용자 메세지 사용법</title>
      <id>http://purelab.org/zbxe/12548</id>
      <published>2010-04-11T01:54:23+09:00</published>
      <updated>2010-08-03T08:42:01+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/12548"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/12548#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;// Dialog간에 통신을 하기 위해서 많이 사용되는 사용자 정의 메세지 입니다. 남발은 금물,,, 구조가 깨지기 때문에 적절히 사용.&lt;/p&gt;
&lt;p&gt;// 사용자 메세지 정의 입니다. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. #define WM_USER_MSG (WM_USER+10000)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 사용자 메세지를 해당 class h, cpp에 등록한다.&lt;/p&gt;
&lt;p&gt;//xxx.h 정의입니다.&lt;/p&gt;
&lt;p&gt;afx_msg LRESULT OnTestMessage( WPARAM wParam, LPARAM lParam );&lt;br  /&gt;//xxx.cpp 구현입니다.&lt;/p&gt;
&lt;p&gt;LRESULT CTestView::OnTestMessage( WPARAM wParam, LPARAM lParam )&lt;br  /&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3. 이제 메세지를 맵핑하여 만들어둔 함수를 동작하게 할 준비를 합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;BEGIN_MESSAGE_MAP(CTestView Cwnd)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ON_MESSAGE(WM_USER_MSG, OnTestMessage)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_MESSAGE_MAP()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. 사용법&lt;/p&gt;
&lt;p&gt;CWnd* pWnd = AfxGetMainWnd();&lt;/p&gt;
&lt;p&gt;ASSERT(pWnd);&lt;/p&gt;
&lt;p&gt;// m_DayCellData(struct or class) 주소값을 WParam에 넣는다.&lt;/p&gt;
&lt;p&gt;pWnd-&amp;gt;SendMessage(WM_USER_MSG, (WPARAM)(&amp;amp;this-&amp;gt;m_DayCellData ), (LPARAM)0 )&lt;/p&gt;
&lt;p&gt;//&lt;/p&gt;
&lt;p&gt;//연결된 OnTestMessage로 메세지가 전달된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;// p.s 두가지 방법으로 메세지를 보내요.&lt;/p&gt;
&lt;p&gt;// PostMessage( MSG );&amp;nbsp; // 메시지큐를 이용. &lt;br  /&gt;// SendMessage( MSG );&amp;nbsp; //&amp;nbsp; 함수 마칠때까지 대기한다. &lt;/p&gt;
&lt;p&gt;//&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>리스트콘트롤에 저장된 리스트를 텍스트(Text)파일로 저장하기</title>
      <id>http://purelab.org/zbxe/3825</id>
      <published>2010-01-01T08:50:43+09:00</published>
      <updated>2010-09-04T21:50:58+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/3825"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/3825#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style=&quot;COLOR: #009e25&quot;&gt;&amp;nbsp;&amp;nbsp;// m_&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #009e25&quot;&gt;ctrList : 리스트콘트롤 멤버 변수명&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CStdioFile file;&lt;BR&gt;file.Open( 저장할txt경로, CFile::modeWrite | CFile::modeCreate | CFile::typeText);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CHeaderCtrl* pHeader = (CHeaderCtrl*)m_ctrList.GetHeaderCtrl();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;int nRow = m_ctrList.GetItemCount();&lt;BR&gt;int nCol = pHeader-&amp;gt;GetItemCount();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;char szPath[MAX_PATH];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;for( int i = 0; i &amp;lt; nRow; i++ )&lt;BR&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; m_ctrList.GetItemText( i, 0, szPath, MAX_PATH );&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; CString strBuffer;&lt;BR&gt;&amp;nbsp;&amp;nbsp; strBuffer.Format( &quot;%s&quot;, szPath );&lt;BR&gt;&amp;nbsp;&amp;nbsp; file.WriteString( strBuffer + &quot;\n&quot; );&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;file.Close();&lt;/P&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>Mac Adress(맥어드래스) 구하기</title>
      <id>http://purelab.org/zbxe/3561</id>
      <published>2009-11-30T04:43:18+09:00</published>
      <updated>2010-08-05T18:03:10+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/3561"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/3561#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;#include &amp;lt;IPHlpApi.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// for GetAdaptersInfo()
&lt;p&gt;#pragma comment( lib, &quot;iphlpapi.lib&quot; )&lt;/p&gt;
&lt;p&gt;// MAC 가져오기&lt;/p&gt;
&lt;p&gt;CString GetMACAddress()&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CString strMac;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD size = sizeof(PIP_ADAPTER_INFO);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PIP_ADAPTER_INFO Info;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ZeroMemory( &amp;amp;Info, size );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int result = GetAdaptersInfo( Info, &amp;amp;size );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 첫번째 랜카드 MAC address 가져오기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (result == ERROR_BUFFER_OVERFLOW)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// GetAdaptersInfo가 메모리가 부족하면 재 할당하고 재호출&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Info = (PIP_ADAPTER_INFO)malloc(size);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetAdaptersInfo( Info, &amp;amp;size );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!Info) return strMac;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strMac.Format( &quot;%0.2X-%0.2X-%0.2X-%0.2X-%0.2X-%0.2X&quot;, Info-&amp;gt;Address[0], Info-&amp;gt;Address[1], Info-&amp;gt;Address[2], Info-&amp;gt;Address[3], Info-&amp;gt;Address[4], Info-&amp;gt;Address[5] );&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return strMac;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;출처 : 데브피아&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>사용자 PC에서 드라이브 목록 값 가져오기</title>
      <id>http://purelab.org/zbxe/3255</id>
      <published>2009-10-23T02:42:14+09:00</published>
      <updated>2010-08-05T18:03:10+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/3255"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/3255#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&amp;nbsp;CString display_info;&lt;br  /&gt;&amp;nbsp;char p_drive_path[8] = &quot; :\\&quot;;&lt;br  /&gt;&amp;nbsp;DWORD drive_info = ::GetLogicalDrives();&lt;br  /&gt;&amp;nbsp;&lt;br  /&gt;&amp;nbsp;for( int i=0; drive_info; i++ )&lt;br  /&gt;&amp;nbsp;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;if( drive_info &amp;amp; 1 )&lt;br  /&gt;&amp;nbsp;&amp;nbsp;{&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;p_drive_path[0] =&apos;A&apos;+ i; &lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;display_info = p_drive_path;&lt;br  /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;AfxMessageBox( display_info ); &lt;strong&gt;&lt;span style=&quot;COLOR: #009e25&quot;&gt;//display_info에 해당 드라이브 값이 저장된다.&lt;/span&gt;&lt;br  /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;drive_info &amp;gt;&amp;gt;=1;&lt;br  /&gt;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
   <entry>
      <title>문자판단 관련 함수 종류 및 설명</title>
      <id>http://purelab.org/zbxe/3252</id>
      <published>2009-10-22T21:04:12+09:00</published>
      <updated>2010-08-05T18:03:10+09:00</updated>
      <link rel="alternate" type="text/html" href="http://purelab.org/zbxe/3252"/>
      <link rel="replies" type="text/html" href="http://purelab.org/zbxe/3252#comment"/>
      <author>
         <name>운영자</name>
               </author>
            <content type="html">&lt;div class=&quot;xe_content&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://spadework.co.kr/151&quot; target=&quot;_blank&quot;&gt;관련 사이트 바로가기&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</content>
                  
   </entry>
</feed> 
