青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

把握命運(yùn),追逐夢想

對自己所做的事要有興趣,同時還要能夠堅持不懈

統(tǒng)計

留言簿(1)

閱讀排行榜

評論排行榜

整理一下網(wǎng)上的那個vc遍歷網(wǎng)頁的程序

#include <stdio.h>
#include 
<tchar.h>
#include
<iostream>
#include
<exdisp.h>
#include 
<atlbase.h>  
#include 
<atlcom.h>
#include
<mshtml.h>

using namespace std;

void EnumIE( void );
void EnumFrame( IHTMLDocument2 * pIHTMLDocument2 ); 
void EnumForm ( IHTMLDocument2 * pIHTMLDocument2 ); 



int _tmain(int argc, _TCHAR* argv[])
{
    wcout.imbue(locale(
"chs")); 

    ::CoInitialize(NULL);   
//初始化COM 
   
    EnumIE();               
//枚舉瀏覽器    
   
    ::CoUninitialize();     
//釋放COM
   
    wcout
<<_T("======完成======")<<endl;   
    getchar();              
//等待回車    
   
    
return 0;  

}


void EnumIE( void )   
{   
    wcout
<<_T("開始掃描系統(tǒng)中正在運(yùn)行的瀏覽器實(shí)例")<<endl;   
   
    CComPtr
<IShellWindows> spShellWin;   
    HRESULT hr 
= spShellWin.CoCreateInstance( CLSID_ShellWindows );   
    
if ( FAILED ( hr ) )   
    
{   
        wcout 
<<_T("獲取 IShellWindows 接口錯誤")<<endl;   
        
return;   
    }
   
   
    
long nCount = 0;        // 取得瀏覽器實(shí)例個數(shù)(Explorer 和 IExplorer)    
    spShellWin->get_Count( &nCount );   
    
if0 == nCount )   
    
{   
        wcout
<<_T("沒有在運(yùn)行著的瀏覽器")<<endl;   
        
return;   
    }
   
   
    
for(int i=0; i<nCount; i++)
    
{  
        CComPtr
<IDispatch > spDispIE;   
        hr
=spShellWin->Item(CComVariant( (long)i ), &spDispIE );   
        
if ( FAILED ( hr ) )    continue;   
   
        CComQIPtr
<IWebBrowser2> spBrowser = spDispIE;   
        
if ( !spBrowser )       continue;   
   
        CComPtr 
<IDispatch> spDispDoc;   
        hr 
= spBrowser->get_Document( &spDispDoc );   
        
if ( FAILED ( hr ) )    continue;   
   
        CComQIPtr
< IHTMLDocument2 > spDocument2 = spDispDoc;   
        
if ( !spDocument2 )     continue;   
   
        
// 程序運(yùn)行到此,已經(jīng)找到了 IHTMLDocument2 的接口指針    
   
        
// 刪除下行語句的注釋,把瀏覽器的背景改變看看    
        
// spDocument2->put_bgColor( CComVariant( "green" ) );    
           
        EnumForm( spDocument2 );        
//枚舉所有的表單    
    }
   
}
   
   
void EnumFrame( IHTMLDocument2 * pIHTMLDocument2 )   
{   
    
if ( !pIHTMLDocument2 ) return;   
   
    HRESULT hr;   
   
    CComPtr
< IHTMLFramesCollection2 > spFramesCollection2;   
    pIHTMLDocument2
->get_frames( &spFramesCollection2 ); //取得框架frame的集合    
   
    
long nFrameCount=0;             //取得子框架個數(shù)    
    hr = spFramesCollection2->get_length( &nFrameCount );   
    
if ( FAILED ( hr ) || 0 == nFrameCount )    return;   
   
    
for(long i=0; i<nFrameCount;  i++
    
{
        CComVariant vDispWin2;
        hr
=spFramesCollection2->item( &CComVariant(i), &vDispWin2 );//取得子框架的自動化接口" vDispWin2; CComVariant   
        if ( FAILED ( hr ) )    continue;   
   
        CComQIPtr
< IHTMLWindow2 > spWin2 = vDispWin2.pdispVal;   
        
if!spWin2 )   continue;   //取得子框架的 IHTMLWindow2 接口    
   
        CComPtr 
< IHTMLDocument2 > spDoc2;   
        spWin2
->get_document( &spDoc2 ); //取得字框架的 IHTMLDocument2 接口    
   
        EnumForm( spDoc2 );         
//遞歸枚舉當(dāng)前子框架 IHTMLDocument2 上的表單form    
    }
   
}
   
   
void EnumForm( IHTMLDocument2 * pIHTMLDocument2 )   
{   
    
if!pIHTMLDocument2 )  return;   
   
    EnumFrame( pIHTMLDocument2 );   
//遞歸枚舉當(dāng)前 IHTMLDocument2 上的子框架fram    
   
    HRESULT hr;   
    CComBSTR bstrTitle;   
    pIHTMLDocument2
->get_title( &bstrTitle );    //取得文檔標(biāo)題    
   
    USES_CONVERSION;   
    wcout 
<< _T("===================="<< endl;   
    wcout 
<< _T("開始枚舉“"<< OLE2CT( bstrTitle ) << _T("”的表單"<< endl;   
    wcout 
<< _T("===================="<< endl;   
   
    CComQIPtr
< IHTMLElementCollection > spElementCollection;   
    hr 
= pIHTMLDocument2->get_forms( &spElementCollection ); //取得表單集合    
    if ( FAILED( hr ) )   
    
{   
        wcout 
<< _T("獲取表單的集合 IHTMLElementCollection 錯誤"<< endl;   
        
return;   
    }
   
   
    
long nFormCount=0;              //取得表單數(shù)目    
    hr = spElementCollection->get_length( &nFormCount );   
    
if ( FAILED( hr ) )   
    
{   
        wcout 
<< _T("獲取表單數(shù)目錯誤"<< endl;   
        
return;   
    }
   
       
    
for(long i=0; i<nFormCount;  i++)//"" 項表單 i 取得第 ;
    {
    
        IDispatch  
*pDisp=NULL;
         hr
= spElementCollection->item( CComVariant( i ), CComVariant(i), &pDisp );       
        
if ( FAILED( hr ) )     continue;   
   
        CComQIPtr
< IHTMLFormElement > spFormElement = pDisp;   
        pDisp
->Release();   
   
        
long nElemCount=0;          //取得表單中 域 的數(shù)目    
        hr = spFormElement->get_length( &nElemCount );   
        
if ( FAILED( hr ) )     continue;   
   
        
for(long j=0; j<nElemCount;  j++)
        

            CComDispatchDriver spInputElement; 
//  j ; 

            hr
=spFormElement->item( CComVariant( j ), CComVariant(), &spInputElement );   
        
            
if ( FAILED( hr ) ) continue;   //取得第 項表單域
   
            CComVariant vName,vVal,vType;       
//取得表單域的 名,值,類型    
            hr = spInputElement.GetPropertyByName( L"name"&vName );   
            
if( FAILED( hr ) )  continue;   
            hr 
= spInputElement.GetPropertyByName( L"value"&vVal );   
            
if( FAILED( hr ) )  continue;   
            hr 
= spInputElement.GetPropertyByName( L"type"&vType );   
            
if( FAILED( hr ) )  continue;   
   
            LPCTSTR lpName 
= vName.bstrVal?   
                    OLE2CT( vName.bstrVal ) : _T(
"NULL");   //未知域名    
            LPCTSTR lpVal  = vVal.bstrVal?   
                    OLE2CT( vVal.bstrVal  ) : _T(
"NULL");   //空值,未輸入    
            LPCTSTR lpType = vType.bstrVal?   
                    OLE2CT( vType.bstrVal ) : _T(
"NULL");   //未知類型    
   
            wcout 
<< _T("["<< lpType << _T("");   
            wcout 
<< lpName << _T(" = "<< lpVal << endl;   
        }
   
        
//想提交這個表單嗎?刪除下面語句的注釋吧    
        
//pForm->submit();    
    }
   
}
  


posted on 2009-08-10 17:40 把握命運(yùn) 閱讀(891) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费成人高清视频| 国产欧美高清| aa亚洲婷婷| 欧美激情无毛| 亚洲区第一页| 国产精品电影网站| 久久久久国产精品麻豆ai换脸| 欧美在线你懂的| 国产精品久久久久久久久久久久久久 | 欧美精品激情在线观看| 午夜影院日韩| 亚洲欧美激情一区二区| 亚洲图片欧美一区| 午夜精品免费视频| 欧美一乱一性一交一视频| 亚洲免费精彩视频| 国产亚洲综合在线| 国产麻豆精品视频| 亚洲图片在区色| 免费成人性网站| 一二三四社区欧美黄| 免费看黄裸体一级大秀欧美| 欧美日韩高清在线| 亚洲激情中文1区| 久久夜色精品国产噜噜av| 亚洲社区在线观看| 欧美激情精品久久久久久免费印度| 国产一区视频网站| 亚洲一区二区三区免费观看| 亚洲电影免费| 欧美69wwwcom| 亚洲激情视频| 亚洲国产精品一区| 欧美片第一页| 每日更新成人在线视频| 久久精品日韩欧美| 欧美大片在线看免费观看| 午夜精品久久久久久久99樱桃| 亚洲免费婷婷| 99视频国产精品免费观看| 亚洲欧美美女| 亚洲一区二区三区午夜| 在线看国产一区| 亚洲高清久久网| 国产精品国产三级国产aⅴ9色| 亚洲欧美日韩爽爽影院| 久久久久久久综合| 日韩视频在线观看免费| 亚洲一区制服诱惑| 日韩视频一区二区在线观看| 亚洲精品在线视频| 红桃视频一区| 一区二区三区不卡视频在线观看| 国产亚洲aⅴaaaaaa毛片| 亚洲人成人77777线观看| 国产精品视频在线观看| 亚洲人成人99网站| 亚洲国产另类精品专区| 午夜精品久久久久99热蜜桃导演| 亚洲第一福利在线观看| 欧美一级视频免费在线观看| 99国产精品久久久久久久成人热| 销魂美女一区二区三区视频在线| 99亚洲一区二区| 美乳少妇欧美精品| 蜜月aⅴ免费一区二区三区| 国产精品一区免费观看| 在线一区观看| 亚洲综合日韩| 国产精品成人v| 亚洲一区二区免费在线| 欧美一级视频免费在线观看| 国产精品美女久久久久久免费| 亚洲青色在线| 先锋影音久久久| 伊人色综合久久天天五月婷| 麻豆久久婷婷| 亚洲国产综合在线看不卡| 一区二区三区视频在线看| 鲁大师影院一区二区三区| 国产字幕视频一区二区| 久久久久看片| 亚洲精品资源美女情侣酒店| 亚洲最快最全在线视频| 国产精品高潮视频| 久久成人精品电影| 久久亚洲欧洲| 欧美护士18xxxxhd| 亚洲国产婷婷香蕉久久久久久| 久久国内精品视频| 亚洲精品乱码视频| 欧美中文字幕久久| 亚洲人成在线观看一区二区| 欧美视频你懂的| 久久精品女人天堂| 亚洲与欧洲av电影| 亚洲大胆女人| 国产精品色午夜在线观看| 久久久久久久激情视频| 亚洲一区二区三区中文字幕 | 美女日韩欧美| 久久精品国产免费观看| 亚洲在线成人精品| 亚洲美女少妇无套啪啪呻吟| 蜜桃久久精品乱码一区二区| 欧美亚洲免费高清在线观看| 亚洲毛片av在线| 日韩视频在线一区二区| 亚洲精品国精品久久99热| 国产在线精品二区| 国产一区再线| 99精品国产福利在线观看免费 | 欧美日韩精品一区二区三区四区| 久久久精品国产免费观看同学| 亚洲在线播放| 久久久www成人免费精品| 久久青青草综合| 男人天堂欧美日韩| 欧美日韩专区在线| 国产精品男人爽免费视频1| 国产乱码精品一区二区三区不卡| 国产精品日韩欧美一区二区| 国产视频久久久久| 亚洲精品九九| 久久丁香综合五月国产三级网站| 亚洲电影av在线| 亚洲成人自拍视频| 欧美一区二区在线观看| 亚洲国产精彩中文乱码av在线播放| 国产精品入口夜色视频大尺度| 一本色道久久加勒比精品| 亚洲最快最全在线视频| 国产欧美日韩亚洲精品| 久久久www成人免费毛片麻豆| 亚洲国内高清视频| 久久视频精品在线| 亚洲大胆女人| 亚洲经典一区| 欧美大片一区二区三区| 国产在线精品成人一区二区三区| aaa亚洲精品一二三区| 欧美国产日韩在线| 免费在线看成人av| 亚洲成人在线| 免费日韩成人| 欧美成人69av| 亚洲精品视频在线| 99香蕉国产精品偷在线观看| 欧美精品一区在线观看| 日韩视频免费观看| 亚洲视频观看| 日韩午夜三级在线| 国产精品久久久久久超碰| 国产一区二区你懂的| 蜜臀av国产精品久久久久| 欧美精品久久99久久在免费线| 日韩一级黄色av| 午夜精品久久久久久久99水蜜桃| 欧美午夜www高清视频| 蜜臀久久99精品久久久久久9| 欧美顶级大胆免费视频| 亚洲一区二区视频| 久久精品国产99国产精品澳门| 有坂深雪在线一区| 日韩午夜在线| 狠狠色狠色综合曰曰| 亚洲免费观看| 狠狠入ady亚洲精品经典电影| 亚洲电影中文字幕| 国产精品亚洲视频| 亚洲精品日韩久久| 国内揄拍国内精品久久| 亚洲综合日韩| 亚洲色图在线视频| 欧美激情小视频| 亚洲国产精品第一区二区| 激情久久综艺| 噜噜爱69成人精品| 亚洲日本无吗高清不卡| 91久久精品美女| 欧美日韩在线一二三| 亚洲综合色网站| 欧美黄色aa电影| 香蕉久久国产| 亚洲日本电影| 国产午夜精品在线| 久久亚洲精品视频| 亚洲深爱激情| 中日韩美女免费视频网站在线观看| 欧美伊人久久久久久久久影院| 亚洲免费在线电影| 国产精品欧美在线| 午夜天堂精品久久久久| 亚洲欧美日韩国产中文| 国产精品女人毛片| 久久一日本道色综合久久| 欧美激情日韩| 亚洲视频欧洲视频| 国产女精品视频网站免费| 日韩一级大片|