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;
ActiveX и IE
Вообщем, с чего начать, подскажите? Интересует, как создать компонент ActiveX, как получить текст из браузера в данном ActiveX.
Цитата:
Originally posted by GuV
Нужно создать компонент ActiveX (кнопочку в браузере IE), по нажатию на который нужно получить данные (текст) из текущей странички для дальнейшей работы с ними.
Вообщем, с чего начать, подскажите? Интересует, как создать компонент ActiveX, как получить текст из браузера в данном ActiveX.
Нужно создать компонент ActiveX (кнопочку в браузере IE), по нажатию на который нужно получить данные (текст) из текущей странички для дальнейшей работы с ними.
Вообщем, с чего начать, подскажите? Интересует, как создать компонент ActiveX, как получить текст из браузера в данном ActiveX.
Если надо создать кнопку в IE, то вот готовые решение
Цитата:
ButtonText = Всплывающая подсказка к кнопке
MenuText = Текст, который будет использован для пункта в меню "Сервис"
MenuStatusbar = *Ignore*
CLSID = Ваш уникальный classID. Для создания нового CLSID (для каждой кнопки) можно использовать GUIDTOSTRING.
Default Visible := Показать ей.
Exec := Путь к Вашей программе.
Hoticon := иконка из shell32.dll когда мышка находится над кнопкой
Icon := иконка из shell32.dll
Код:
Вот пример вызова диалога Find
Код:
const
HTMLID_FIND = 1;
HTMLID_VIEWSOURCE = 2;
HTMLID_OPTIONS = 3;
...
procedure TForm1.FindIE;
const
CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
var
CmdTarget : IOleCommandTarget;
vaIn, vaOut: OleVariant;
PtrGUID: PGUID;
begin
New(PtrGUID);
PtrGUID^ := CGID_WebBrowser;
if WebBrowser1.Document <> nil then
try
WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
if CmdTarget <> nil then
try
CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
finally
CmdTarget._Release;
end;
except
// nothing
end;
Dispose(PtrGUID);
end;
HTMLID_FIND = 1;
HTMLID_VIEWSOURCE = 2;
HTMLID_OPTIONS = 3;
...
procedure TForm1.FindIE;
const
CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
var
CmdTarget : IOleCommandTarget;
vaIn, vaOut: OleVariant;
PtrGUID: PGUID;
begin
New(PtrGUID);
PtrGUID^ := CGID_WebBrowser;
if WebBrowser1.Document <> nil then
try
WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
if CmdTarget <> nil then
try
CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
finally
CmdTarget._Release;
end;
except
// nothing
end;
Dispose(PtrGUID);
end;
Цитата:
Originally posted by Delpher
Привет!! Класс!
То что мне нужно!
Но возникает вопрос, как добратся до обработчика
событий этой кнопки которую добавили?
Мне нужно сделать еще дополнительные действия
при нажатии этой кнопки.
Спасибо заранее..!:)