#include <atlbase.h>#include<atlwin.h>#include<windows.h>#include<tchar.h>#pragmaComment (lib, "ATL")#pragmaComment (lib, "User32.lib")CComModule _module;ConstTCHAR *url[9] ={_t ("http://www.csdn.net/"), _t ("http://www.zol.com.cn/"), _t ("http://www.cnblogs.com/"), _t ("http://pal5q.baiyou100.com/2501000.asp"), _t ("http://www.yinyuetai.com/"), _t ("http://v.youku.com/v_show/id_XMzgwMjkyMTc2.html?f=17540585"), _t ("Http://social.msdn.microsoft.com/Forums/zh-CN/0631bed7-8b7e-4c0b-a666-90aa38e98075/win32-sdkwebbrowsercomatl"), _t ("http://blog.csdn.net/geniusice18/article/details/16369499"), _t ("http://cricode.com/1494.html")}; LRESULT CALLBACK WndProc (HWND hwnd,uint message,wparam wparam,lparam LPARAM) {RECT rc; IWebBrowser2*Iwebbrowser; VARIANT Varmyurl; Static inti =0; StaticCAxWindow Wincontainer; LPOLESTR Pszname=OLESTR ("Shell. Explorer.2"); GetClientRect (HWnd,&RC); Switch(message) { CaseWM_CREATE:WinContainer.Create (hWnd, RC,0, Ws_child |ws_visible); Wincontainer.createcontrol (Pszname); Wincontainer.querycontrol (__uuidof (IWebBrowser2), (void* *) &iwebbrowser); VariantInit (&Varmyurl); VARMYURL.VT=VT_BSTR; Varmyurl.bstrval= SysAllocString (_t ("http://www.163.com/")); IwebbrowserNavigate2 (&varmyurl,0,0,0,0); VariantClear (&Varmyurl); Iwebbrowser-put_silent (VARIANT_TRUE);//iwebbrowser-> Release ();SetTimer (HWnd,0,10000, NULL); Break; Casewm_size: Break; Casewm_timer: {Wincontainer.querycontrol (__uuidof (IWebBrowser2), (void* *) &iwebbrowser); VariantInit (&Varmyurl); VARMYURL.VT=VT_BSTR; Varmyurl.bstrval= SysAllocString (url[i++]); IwebbrowserNavigate2 (&varmyurl,0,0,0,0); VariantClear (&Varmyurl); //iwebbrowser-> Release (); Break; } CaseWm_destroy:iwebbrowser-Quit (); _module.term (); PostQuitMessage (0); Break; default: return(int) DefWindowProc (Hwnd,message,wparam,lparam); } return 0;}intWINAPI WinMain (hinstance hinstance, hinstance hprevinstance, LPSTR lpCmdLine,intnShowCmd) { StaticTCHAR Szappname[]=text ("WebBrowser"); StaticTCHAR Szclassname[]=text ("WebBrowser"); HWND hwnd; MSG msg; Wndclass Wndclass; Wndclass.style=cs_hredraw |Cs_vredraw; Wndclass.lpfnwndproc=WndProc; Wndclass.cbclsextra=0; Wndclass.cbwndextra=0; Wndclass.hinstance=hinstance; Wndclass.hicon=LoadIcon (hinstance, idi_application); Wndclass.hcursor=loadcursor (Null,idc_arrow); Wndclass.hbrbackground= (Hbrush) (color_window+1); Wndclass.lpszmenuname=NULL; Wndclass.lpszclassname=Szclassname; if(! RegisterClass (&wndclass)) {MessageBox (Null,text ("error!"), szappname,mb_iconerror); return 0; } //HRESULT hres = _module.init (NULL, hinstance);GUID GUID; HRESULT hres= _module.init (NULL, HINSTANCE, &GUID); HWnd=createwindow (Szclassname,szappname,ws_overlappedwindow,cw_usedefault,0, Cw_usedefault,0, Null,null,hinstance,null); ShowWindow (Hwnd,nshowcmd); UpdateWindow (HWND); while(GetMessage (&msg, NULL,0,0) {translatemessage (&msg); DispatchMessage (&msg); } returnMsg.wparam;}