2009-05-07 13 views
2

IEバンドオブジェクト(ツールバー)がうまくいきました。ただし、新しいマシンにインストールすると、デフォルトでは表示されません。もちろん、ツールバーの領域を右クリックして選択することでそれを有効にすることはできますが、インストール後にバーをオンにする方法やオプションがレジストリにあるかどうかを知りたいと思います。IEツールバー、デフォルトで表示

これを行う方法がわかっていますか?

ありがとうございます!

答えて

2

あなたはBHO(あなたはBHOはhereを作るについての詳細情報を見つけることができます)からプログラム的にツールバーを表示することができます。

STDMETHODIMP MyBHO::SetSite(IUnknown *pUnkSite) 
{ 
    if(/*is this the first run since BHO was installed?*/) 
    { 
     CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> webBrowser2 = pUnkSite; 
     if(webBrowser2 != NULL) 
     { 
      VARIANT vtBandGUID, vtShow, vtSize; 

      vtBandGUID.vt = VT_BSTR; 
      vtBandGUID.bstrVal = SysAllocString(OLESTR("{TOOLBAR-GUID}")); 

      vtShow.vt = VT_BOOL; 
      vtShow.boolVal = true; 

      vtSize.vt = VT_I2; 
      vtSize.iVal = 0; 

      webBrowser2->ShowBrowserBar(&vtBandGUID, &vtShow, &vtSize); 
      SysFreeString(vtBandGUID.bstrVal); 
     } 
    } 

    return S_OK; 
} 
+0

デフォルトでボタンを表示しないようにする方法?私は「真実」を「偽」に変更しようとしましたが、うまくいきません。 – karikari

0

これはIEのデフォルトの動作で、ユーザーが何かを選択できるようにするためのものでしょうか?彼はブラウザを混乱させるでしょうか?

0

最終的な答えはありませんが、Sysinternals Process Monitorを実行して、レジストリの変更だけをフィルタリングし、手動でツールバーを表示させるとどうなるかを記録できます。次に、インストールスクリプトでこれを実行してください。ツールバーのレジストリエントリに、管理していないGUIDまたはIDが割り当てられると、これは面倒なことがあります。

関連する問題