![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Internet Explorer Plugin [D4, D5, D6, D7, Win95/98, WinME, Win2k, WinXP]
Delphir © (2004-08-25 13:17:00)Народ, подскажите как написать плагин для Internet Explorer.
Цель такова:
1. на панеле рядом с остальными кнопками должна появиться кнопочка плагина. (по идее для этого достаточно прописать пару ключей в реестре)
2. по нажатию кнопочки сбоку должно появляться окошко, но НЕ НОВОЕ!!!! тоесть оно должно появляться там где появляется адреса из "истории" или "фавориты"! Ну а в окошке уже может быть все что угодно :) (тоесть форма с какими-либо функциями)
Проблема:
как осуществить второй пункт? :)
OSokin (2004-09-01 17:50:00) [1]Просто где то проходила такая же тема по форуму, и я тебе дал оттуда исходник
Delphir (2004-08-28 18:24:00) [2]2: OSokin ©
по нажатию кнопочки сбоку должно появляться окошко, но НЕ НОВОЕ!!!! тоесть оно должно появляться там где появляется адреса из "истории" или "фавориты"! Ну а в окошке уже может быть все что угодно :) (тоесть форма с какими-либо функциями)
==========
приведенный вами код годен только для веб-страниц!!! а я хочу сделать СВОЮ ФОРМУ СО СВОИМИ КНОПКАМИ и тд. судя по инфе в инете все это должно храниться в длл-ке. но мне не удалось наити исходников под дэльфу, все что встречалось - это под различные вариации с++
OSokin (2004-08-28 17:56:00) [3]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;
procedure CreateExplorerButton;
const
TagID = '\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\';
var
Reg: TRegistry;
ProgramPath: string;
RegKeyPath: string;
begin
ProgramPath := 'c:\folder\exename.exe';
Reg := TRegistry.Create;
try
with Reg do begin
RootKey := HKEY_LOCAL_MACHINE;
RegKeyPath := 'Software\Microsoft\Internet Explorer\Extensions';
OpenKey(RegKeyPath + TagID, True);
WriteString('ButtonText', 'Your program Button text');
WriteString('MenuText', 'Your program Menu text');
WriteString('MenuStatusBar', 'Run Script');
WriteString('ClSid', '{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}');
WriteString('Default Visible', 'Yes');
WriteString('Exec', ProgramPath);
WriteString('HotIcon', ',4');
WriteString('Icon', ',4');
end
finally
Reg.CloseKey;
Reg.Free;
end;
end;
Delphir (2004-08-28 17:02:00) [4]2: DiamondShark ©
Не, ну спасибо конечно... но это не то, что я хотел увидеть :)
Мои знания не достаточно сильны, чтобы по такому мануалу написать рабочий код. Да и в добавок он под c++.
Я хотел увидеть простенький примерчик под ДЭЛЬФУ! и опираясь на него уже что-то творить!
DiamondShark (2004-08-27 13:21:00) [5]http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/ext/extensions.asp
Обленились совсем...
Delphir (2004-08-27 13:06:00) [6]Это значит что новых форм появляться не должно. остряк.
Ega23 (2004-08-25 14:31:00) [7]но НЕ НОВОЕ!!!!
"Не новое" - это Б/У?