国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

C++中如何顯示/隱藏IE瀏覽器工具窗口

2019-11-17 05:43:48
字體:
來源:轉載
供稿:網(wǎng)友

  本文講述如何在程序中控制顯示/隱藏所有的IE瀏覽器工具窗口,如“收藏”,“歷史”,“搜索”等左側窗口。

實現(xiàn)流程:
在同一個時刻,系統(tǒng)中可能存在N個Shell窗口(包括IE窗口和文件瀏覽器窗口),需要遍歷每個Shell窗口并將文件瀏覽器窗口排除(因為我們只對IE窗口進行處理),然后再取得IWebBrowser2,調用ShowBrowserBar函數(shù),這個函數(shù)在MSDN中描述如下:
HRESULT ShowBrowserBar(VARIANT *pvaClsid,
    VARIANT *pvarShow,
    VARIANT *pvarSize
);

可重用代碼如下(已經(jīng)過測試,無法編譯者請查自身的問題或咨詢ccrun):

##include "SHDocVw_OCX.h"
//---------------------------------------------------------------------------
void __fastcall MyShowIEBrowserBar(LPSTR lpCLSID, bool bShow)
{
    Variant v1, v2, v3;
    String strCLSID(lpCLSID);
    v1 = strCLSID.c_str(); // 要顯示/隱藏的工具窗口CLSID
    v2 = bShow; // 是否顯示
    v3 = 0; // 略

    //---------------------------------------------------------------------------
    // 抱歉,這個提示又來了,為了防止不負責任的轉載者,只好在此留些信息。
    // by ccrun(老妖) info@ccrun.com
    // 歡迎訪問 C++Builder研究 - http://www.ccrun.com
    //---------------------------------------------------------------------------

    TCppShellWindows *pShellWin = new TCppShellWindows(NULL);
    // 遍歷每個Shell窗口
    for(int i=0; i<pShellWin->Count; i++)
    {
        IDispatch *pDisp = (IDispatch *)pShellWin->Item(Variant(i));
        if(pDisp == NULL)
            continue;
        // 取得IWebBrowser2接口
        IWebBrowser2 *pBrowser;
        HRESULT hr = pDisp->QueryInterface(IID_IWebBrowser2, (void**)&pBrowser);
        pDisp->Release();
        if(SUCCEEDED(hr))
        {
            String strUrl = String(pBrowser->get_LocationURL()); // 獲取瀏覽器地址
            if(strUrl.LowerCase().SubString(1, 5) == "file:") // 排除文件治理器
                continue;
            pBrowser->ShowBrowserBar(v1, v2, v3); // 顯示或隱藏瀏覽工具窗口
        }
    }
    delete pShellWin;
}

// MyShowIEBrowserBar("{EFA24E61-B078-11d0-89E4-00C04FC9E26E}", 1); // 顯示收藏夾
// MyShowIEBrowserBar("{30D02401-6A81-11d0-8274-00C04FD5AE38}", 0); // 隱藏搜索欄

其他IE工具窗口CLSID參考:
Favorites {EFA24E61-B078-11d0-89E4-00C04FC9E26E}
Folders   {EFA24E64-B078-11d0-89E4-00C04FC9E26E}
History   {EFA24E62-B078-11d0-89E4-00C04FC9E26E}
Search    {30D02401-6A81-11d0-8274-00C04FD5AE38}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁夏| 阜平县| 澎湖县| 万源市| 栖霞市| 昭觉县| 苏尼特左旗| 宝山区| 德化县| 镇远县| 澎湖县| 简阳市| 孟村| 万安县| 德兴市| 望都县| 会同县| 龙泉市| 紫云| 怀集县| 怀安县| 炉霍县| 靖州| 闽侯县| 喜德县| 马山县| 英吉沙县| 南投市| 库尔勒市| 襄垣县| 昌图县| 共和县| 乡城县| 洪泽县| 云梦县| 泰宁县| 马尔康县| 定襄县| 长春市| 鹰潭市| 宿州市|