// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "test.h"
//#include "TestIe.h"
#include "mshtml.h"
#include <comutil.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
::CoInitialize(NULL);
IShellWindows* m_spSHWinds;
::CoCreateInstance( CLSID_ShellWindows,NULL,CLSCTX_INPROC_SERVER,IID_IShellWindows,(LPVOID*)&m_spSHWinds);
long nCount;
CString str;
m_spSHWinds->get_Count(&nCount);
BSTR Url ;
for (long i = 0; i < nCount; i++)
{
VARIANT va;
va.vt = VT_I4;
va.lVal = i;
IDispatch* spDisp;
m_spSHWinds->Item(va,&spDisp);
IWebBrowser2* spBrowser;
spDisp->QueryInterface(IID_IWebBrowser2,(void**)&spBrowser);
if (spBrowser != NULL)
{
IHTMLDocument2* spDoc;
IDispatch* IDispDoc;
spBrowser->get_Document(&IDispDoc);
IDispDoc->QueryInterface(IID_IHTMLDocument2,(void**)&spDoc);
if (spDoc != NULL)
{
spDoc->get_URL(&Url);
str = Url;
cout <<(LPCTSTR)str <<endl ;
}
}
}
::CoUninitialize();
return nRetCode;
}