Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Internet Explorer Plugin   Найти похожие ветки 

 
Delphir   (2004-08-25 13:17) [0]

Народ, подскажите как написать плагин для Internet Explorer.

Цель такова:
1. на панеле рядом с остальными кнопками должна появиться кнопочка плагина. (по идее для этого достаточно прописать пару ключей в реестре)
2. по нажатию кнопочки сбоку должно появляться окошко, но НЕ НОВОЕ!!!! тоесть оно должно появляться там где появляется адреса из "истории" или "фавориты"! Ну а в окошке уже может быть все что угодно :) (тоесть форма с какими-либо функциями)

Проблема:
как осуществить второй пункт?  :)


 
Ega23 ©   (2004-08-25 14:31) [1]

но НЕ НОВОЕ!!!!

"Не новое" - это Б/У?


 
Delphir   (2004-08-27 13:06) [2]

Это значит что новых форм появляться не должно. остряк.


 
DiamondShark ©   (2004-08-27 13:21) [3]

http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/ext/extensions.asp

Обленились совсем...


 
Delphir   (2004-08-28 17:02) [4]

2: DiamondShark ©

Не, ну спасибо конечно... но это не то, что я хотел увидеть :)

Мои знания не достаточно сильны, чтобы по такому мануалу написать рабочий код. Да и в добавок он под c++.

Я хотел увидеть простенький примерчик под ДЭЛЬФУ! и опираясь на него уже что-то творить!


 
OSokin ©   (2004-08-28 17:56) [5]

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 18:24) [6]

2: OSokin ©
по нажатию кнопочки сбоку должно появляться окошко, но НЕ НОВОЕ!!!! тоесть оно должно появляться там где появляется адреса из "истории" или "фавориты"! Ну а в окошке уже может быть все что угодно :) (тоесть форма с какими-либо функциями)

==========
приведенный вами код годен только для веб-страниц!!! а я хочу сделать СВОЮ ФОРМУ СО СВОИМИ КНОПКАМИ и тд. судя по инфе в инете все это должно храниться в длл-ке. но мне не удалось наити исходников под дэльфу, все что встречалось - это под различные вариации с++


 
OSokin ©   (2004-09-01 17:50) [7]

Просто где то проходила такая же тема по форуму, и я тебе дал оттуда исходник



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.057 c
3-1093320603
Konrads
2004-08-24 08:10
2004.09.19
DbGrid


1-1094393321
Yanis
2004-09-05 18:08
2004.09.19
Web Browser


14-1093870933
oldman
2004-08-30 17:02
2004.09.19
Прикольно...


14-1094041822
nasty
2004-09-01 16:30
2004.09.19
перспективность мультимедиа-программирования


1-1094201216
P@vel
2004-09-03 12:46
2004.09.19
TmemoryStream