获取IE地址栏内容

来源:互联网 发布:中建一局房地产 知乎 编辑:程序博客网 时间:2024/04/30 14:16

// 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;
}


 

原创粉丝点击