Консультация № 25294
25.08.2005, 14:43
0.00 руб.
0 1 1
Как создать ТoolBar для IE? Уточню: я уже знаю по связи с реестром, меня интересует сам процесс создания или "Как сделать".

Обсуждение

Неизвестный
25.08.2005, 17:29
общий
это ответ
Здравствуйте, Малярчук Андрей!
В приложении код, который создаёт панель в IE. На работоспособность не проверял (нашёл в одной из документаций).

Приложение:
function AddExplorerBar(BarTitle, Url: string; BarSize: Int64; Horizontal: Boolean): string; const EXPLORERBAR_ID = ‘{4D5C8C2A-D075-11d0-B416-00C04FB90376}‘; VERTICAL_BAR = ‘{00021493-0000-0000-C000-000000000046}‘; HORIZONTAL_BAR = ‘{00021494-0000-0000-C000-000000000046}‘; var GUID: TGUID; SysDir, ID: string; Reg: TRegistry; begin CreateGuid(GUID); ID := GuidToString(GUID); Reg := TRegistry.Create; with Reg do try RootKey := HKEY_CLASSES_ROOT; OpenKey(‘\CLSID\‘ + ID, True); WriteString(‘‘, ‘BarTitle‘); CloseKey; CreateKey(‘\CLSID\‘ + ID + ‘\Implemented Categories‘); if HORIZONTAL then CreateKey(‘\CLSID\‘ + ID + ‘\Implemented Categories\‘ + HORIZONTAL_BAR) else CreateKey(‘\CLSID\‘ + ID + ‘\Implemented Categories\‘ + VERTICAL_BAR); SetLength(SysDir, 255); GetSysDirectory(PChar(SysDir), 255); SysDir := PChar(SysDir) + ‘\SHDOCVW.DLL‘; OpenKey(‘\CLSID\‘ + ID + ‘\InProcServer32‘, True); Writestring(‘‘, SysDir); WriteString(‘Threadingmodel‘, ‘Apartment‘); CloseKey; OpenKey(‘\CLSID\‘ + ID + ‘\Instance‘, True); WriteString(‘CLSID‘, EXPLORERBAR_ID); CloseKey; OpenKey(‘\CLSID\‘ + ID + ‘\Instance\InitPropertyBag‘, True); WriteString(‘Url‘, URL); CloseKey; RootKey := HKEY_LOCAL_MACHINE; OpenKey(‘Software\Microsoft\Internet Explorer\Explorer Bars\‘ + ID, True); WriteBinaryData(‘BarSize‘, BarSize, SizeOf(BarSize)); CloseKey; OpenKey(‘\Software\IE5Tools\Explorer Bars\‘, True); WriteString(BarTitle, ID); CloseKey; OpenKey(‘\Software\Microsoft\Internet Explorer\Toolbar‘, True) WriteString(ID, ‘‘); CloseKey; finally Free; end; result := ID; end;
Форма ответа