连接浏览器SHELL窗口的代码

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//--连接浏览器SHELL窗口的代码

// connShell.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

//#import "shdocvw.dll" exclude("tagREADYSTATE")

#import "shdocvw.dll"

//#import "shdocvw.dll" rename_namespace("SHELL_WINDOW")

//using namespace SHELL_WINDOW;

#define SHELL_WINDOW SHDocVw

#include <iostream>

using namespace std;

int main(int argc, char* argv[])

{

cout << "---test---" << endl;

//--COM

CoInitialize(NULL);

do {

cout << "---list all Shell Window---" << endl;

SHELL_WINDOW::IShellWindowsPtr msp_SHWinds = NULL;

HRESULT hr = msp_SHWinds.CreateInstance(__uuidof(SHELL_WINDOW::ShellWindows));

if (S_OK != hr || NULL == msp_SHWinds)

{

cout << "FAILED." << endl;

break;

}

int count = 0;

int Count = msp_SHWinds->GetCount();

for (int i = 0; i < Count; i++)

{

_variant_t va(long(i), VT_I4);

IDispatchPtr sp_Disp;

sp_Disp = msp_SHWinds->Item(va);

SHELL_WINDOW::IWebBrowser2Ptr sp_Browser(sp_Disp);

//SHELL_WINDOW::IWebBrowser2Ptr sp_Browser = sp_Disp;//--OK

if (NULL != sp_Browser)

{

count ++;

cout << (char*)sp_Browser->GetLocationName() << endl;

sp_Browser.Release();

}

}

msp_SHWinds.Release();

cout << "---list count=" << count << "---" << endl;

break;

} while (false);

//--COM

//CoUninitialize();//--???

OleUninitialize();

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航