Тулбарчик к IE
От: Good Украина  
Дата: 15.02.02 15:23
Оценка:
Всем привет.

Вобщем, написал я тулбарчик для IE. Все работает, но нужно, чтобы после установки его, он автоматом был заэнейблен в IE. А то приходится лезть в Вид->Панели инструментов и ставить галочку напротив своего тулбарчика.

Заранее благодарен.
Сергей.
Re: Тулбарчик к IE
От: Николай Украина http://www.nickolya.wallst.ru
Дата: 01.10.02 08:07
Оценка:
Здравствуйте Good, Вы писали:

G>Всем привет.


G>Вобщем, написал я тулбарчик для IE. Все работает, но нужно, чтобы после установки его, он автоматом был заэнейблен в IE. А то приходится лезть в Вид->Панели инструментов и ставить галочку напротив своего тулбарчика.


G>Заранее благодарен.

G>Сергей.

Скажите, Вы создавали панель используя функцию CreateToolbarEx?
Если да, то не могдли бы Вы мне помочь. Как в такую панель запихнуть свои изображения на кнопки?
Re: Тулбарчик к IE
От: Бабокин Дмитрий Россия  
Дата: 22.11.02 13:27
Оценка:
Здравствуйте, Good, Вы писали:

G>Всем привет.


G>Вобщем, написал я тулбарчик для IE. Все работает, но нужно, чтобы после установки его, он автоматом был заэнейблен в IE. А то приходится лезть в Вид->Панели инструментов и ставить галочку напротив своего тулбарчика.

Очень актуальная проблема... Хотел у вас узнать, не нашли ли вы решения?
Возможно у вас есть какие-то соображения по этому поводу — поделитесь инфой, возможно совмесными усилиями можно решить проблему
Re: Тулбарчик к IE
От: DarkSilence Россия http://crystalcavestudio.com
Дата: 06.04.07 06:57
Оценка: 3 (1)
G>Вобщем, написал я тулбарчик для IE. Все работает, но нужно, чтобы после установки его, он автоматом был заэнейблен в IE.

Я делаю так — cоздаю BHO, у которого реализую метод SetSite

STDMETHODIMP CMyClass::SetSite(IUnknown *pUnkSite) {

    if (!pUnkSite)
    {
        if (m_pWebBrowser2.GetInterfacePtr())
            m_pWebBrowser2.Release();
        return S_OK;
    }

    IServiceProviderPtr pServProv(pUnkSite);
    HRESULT hr = pServProv->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2, (void**)&m_pWebBrowser2);

    HKEY hk = NULL;

    RegCreateKey(HKEY_CURRENT_USER, _T("Software\\My App"), &hk);
    if ( hk ) {

        DWORD dwFirstRun = RegQueryDWORD( hk, _T("FirstRun"), 0 );

        if ( dwFirstRun )  {

            _variant_t vtBandGUID = L"{00000000-0000-0000-0000-000000000000}"; // Тут GUID тулбара впишите
            _variant_t vtShow = true;
            _variant_t vtNotUsed;

            _variant_t vtOut = L"visible";

                        // Некоторые люди говорят что тулбар надо сначала спрятать,
                        // у меня работало всегда и так. На всяк пожарный оставляю.
            //HRESULT hr = m_pWebBrowser2->ShowBrowserBar(&vtBandGUID, &vtHide, &vtNotUsed);
            
                        m_pWebBrowser2->PutProperty( OLESTR("MyToolbar_visible"), vtOut );

            // show or hide toolbar
            HRESULT hr = m_pWebBrowser2->ShowBrowserBar(&vtBandGUID, &vtShow, &vtNotUsed);            

            RegSetDWORD( hk, _T("FirstRun"), 0 );

        }

        RegCloseKey( hk );
    }

    return hr;
}


В результате при запуске браузера первым запускается BHO, у него вызывается метод SetSite, в котором проверяется запускается ли тулбар первый раз или нет, если запуск первый — показываем тулбар. Собственно всё.

Если есть критика по коду — пишите пожалуйста, я пока новичёк в теме. Буду рад критике профессионалов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.