Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Вниз
О том как добавить свой пункт в меню IE? Найти похожие ветки
← →
DDS (2004-02-06 00:13) [0]Мне надо, чтобы мой пункт в контекстном меню IE работал
так же как у Reget. Пункт я добавил вот так:procedure CreateExplorerMenu;
var
Reg: TRegistry;
ProgramPath: string;
RegKeyPath: string;
begin
ProgramPath := ExtractFilePath(Application.ExeName);
Reg := TRegistry.Create;
try
with Reg do begin
RootKey := HKEY_CURRENT_USER;
RegKeyPath := "Software\Microsoft\Internet Explorer\MenuExt\&Project";
OpenKey(RegKeyPath, True);
WriteString("", ProgramPath);
WriteInteger("contexts",34);
end
finally
Reg.CloseKey;
Reg.Free;
end;
end;
А вот как мне получить ссылку на которой открыли меню и как послать ее моему приложению.
(Контекстное меню не проводника, а именно Internet Explorer)
← →
DDS (2004-02-07 13:50) [1]Аууууу, кто-нибудь ответьте.
← →
alex shad © (2004-03-09 13:04) [2]Ну лично по твоему коду я сделал так (правда еще не доконца):
****
procedure CreateExplorerMenu;
var
Reg: TRegistry;
ProgramPath: string;
RegKeyPath: string;
begin
ProgramPath := ExtractFilePath(Application.ExeName);
Reg := TRegistry.Create;
try
with Reg do begin
RootKey := HKEY_CURRENT_USER;
RegKeyPath := "Software\Microsoft\Internet Explorer\MenuExt\Добавить в Linker";
OpenKey(RegKeyPath, True);
WriteString("","file://"+ProgramPath+"add.html");
WriteInteger("contexts",34);
end
finally
Reg.CloseKey;
Reg.Free;
end;
end;
*****
Код html я взял у авторов Leechget
*******
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript1.2">
var Linker = new ActiveXObject("LinkIE.link");
if(Linker)
{
var srcEvent = external.menuArguments.event;
var srcDoc = external.menuArguments.document;
var srcElement = srcDoc.elementFromPoint(srcEvent.clientX, srcEvent.clientY);
var srcAnchor = srcElement;
var sURL = "";
var sComment = "";
while(srcAnchor.tagName!="A" && srcAnchor.tagName!="AREA" && srcAnchor.tagName!="HTML") {srcAnchor=srcAnchor.parentElement;}
if(srcEvent.type=="MenuExtUnknown" || srcEvent.type=="MenuExtImage" || srcEvent.type=="MenuExtAnchor")
{
if(srcAnchor.tagName=="A" || srcAnchor.tagName=="AREA") {sURL = srcAnchor.href;}
if(srcAnchor.tagName=="HTML" && srcElement.tagName=="IMG") {sURL = srcElement.src;}
if(srcAnchor.tagName=="input" && sURL=="") {sURL = srcElement.value;}
}
if(sURL!="")
{
LeechGet.AddUrl(sURL);
}
}
else
{
alert("LeechIE.dll is not registered. Please run `regsvr32.exe LeechIE.dll`");
}
</SCRIPT>
****
Как я понял сдесь
while(srcAnchor.tagName!="A" && srcAnchor.tagName!="AREA" && srcAnchor.tagName!="HTML") {srcAnchor=srcAnchor.parentElement;}
if(srcEvent.type=="MenuExtUnknown" || srcEvent.type=="MenuExtImage" || srcEvent.type=="MenuExtAnchor")
{
if(srcAnchor.tagName=="A" || srcAnchor.tagName=="AREA") {sURL = srcAnchor.href;}
if(srcAnchor.tagName=="HTML" && srcElement.tagName=="IMG") {sURL = srcElement.src;}
if(srcAnchor.tagName=="input" && sURL=="") {sURL = srcElement.value;}
}
кидается линка в буфер (если конечно я правильно понял), затем ты при запуске своего приложения на onShow вытаскиваешь из буфера линк. Но я еще до этого не добрался.
Я не знаю как из javascript запустить *.exe файл, мне надо его тут (если я конечно правильно понял)
if(sURL!="")
{
LeechGet.AddUrl(sURL);
}
запустить. Случаем не знаешь как с javascript пускануть?
Просто если использовать код LeechGet, надо регестрировать свое приложение в системе и пиребевать сам код, хотя впринципи это не сложно сделать, но гиморно :(
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c