프로그램에서 웹브라우저를 달아서 각 페이지를 보여줘야 하는 일이 있는데 인터넷에 정보를 검색해 보면 get방식으로
오픈하는 예제소스는 금방 나왔는데 은근히 post방식으로 웹페이지를 오픈하는 예제는 잘 나오지 않는듯 했다.;;
역시 나의 검색능력은..ㅠㅠ
어케어케해서 정보를 찾아서 보았는데 또 나중에 분명히 쓸일이 있을테니..이곳에 정리해두어 필요할 때마다 긁어다 써야 겠다
자 소스 갑니다.
//코드
CWebBrowser2 Web;
CString sUrl ="www.어쩌구저쩌구.com";
CString sPostData = "next=10&test=100"; //테스트용
CString strHeader = _T("Content-Type: application/x-www-form-urlencoded\r\n");
// HTTP 헤더
VARIANT vHeader;
vHeader.vt = VT_BSTR;
vHeader.bstrVal = strHeader.AllocSysString();
// POST 데이터 변환
SAFEARRAY FAR *sfPost = NULL;
SAFEARRAYBOUND bound;
bound.cElements = sPostData.GetLength();
bound.lLbound = 0;
sfPost = SafeArrayCreate(VT_UI1, 1, &bound);
for (long lIndex = 0;lIndex < (signed)bound.cElements;lIndex++)
{
SafeArrayPutElement(sfPost, &lIndex, sPostData.GetBuffer(bound.cElements)+lIndex);
}
sPostData.ReleaseBuffer();
VARIANT vaPost;
vaPost.vt = VT_ARRAY;
vaPost.parray = sfPost;
Web.Navigate(sUrl ,0,NULL,&vaPost,&vHeader);
SafeArrayDestroy(sfPost);
위에 처럼 하시면 간단하게 post방식으로 웹페이지를 오픈할 수 있습니다.
정보는 공유되어야 한다 쭈욱~~
'Study > MFC' 카테고리의 다른 글
Use MFC in a Shared DLL과 Use MFC in a Static Library (0) | 2012.08.27 |
---|---|
현재 사용중인 ip주소를 가져오는 방법 (0) | 2012.05.02 |
EditBox에서 우클릭 막기! (0) | 2012.04.07 |
webbrowser2 에서 캐쉬 사용를 않하는 방법 (0) | 2012.03.22 |
if (!_AfxCheckDialogTemplate(lpszTemplateName, FALSE)) 에서 죽을때! (0) | 2012.02.28 |
댓글