Novo botão via Registro
Aqui no ClubeDelphi te a seguinte dica:
procedure TForm1.Button1Click(Sender: TObject);
const
Tagit = ´\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\´;
var
Reg: TRegistry;
Path, Path1: string;
Merge: string;
begin
Path := ´c:\windows´;
Reg := TRegistry.Create;
try
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
Path1 := ´Software\Microsoft\Internet Explorer\Extensions´;
Merge := Path1 + Tagit;
OpenKey(Merge, True);
WriteString(´ButtonText´, ´Notepad´);
WriteString(´MenuText´, ´Tools Menu Item´);
WriteString(´MenuStatusBar´, ´Run Script´);
WriteString(´ClSid´, ´{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}´);
WriteString(´Default Visible´, ´Yes´);
WriteString(´Exec´, Path + ´\notepad.exe´);
WriteString(´HotIcon´, ´,4´);
WriteString(´Icon´, ´,4´);
end
finally
Reg.CloseKey;
Reg.Free;
end;
end;
end.
Isso cria um botão e um item no menu do IE e executa o Bloco de Notas ao se clicar. A dúvida é, como eu faço para fazer a mesma coisa no Word, por exemplo:
Entendi todo o código, testei e realmente funciona, mas essa parte do Registro do Windows, bom, não funciona com outro aplicativo. Alguém sabe resolver essa questão?
Valeu!
procedure TForm1.Button1Click(Sender: TObject);
const
Tagit = ´\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\´;
var
Reg: TRegistry;
Path, Path1: string;
Merge: string;
begin
Path := ´c:\windows´;
Reg := TRegistry.Create;
try
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
Path1 := ´Software\Microsoft\Internet Explorer\Extensions´;
Merge := Path1 + Tagit;
OpenKey(Merge, True);
WriteString(´ButtonText´, ´Notepad´);
WriteString(´MenuText´, ´Tools Menu Item´);
WriteString(´MenuStatusBar´, ´Run Script´);
WriteString(´ClSid´, ´{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}´);
WriteString(´Default Visible´, ´Yes´);
WriteString(´Exec´, Path + ´\notepad.exe´);
WriteString(´HotIcon´, ´,4´);
WriteString(´Icon´, ´,4´);
end
finally
Reg.CloseKey;
Reg.Free;
end;
end;
end.
Isso cria um botão e um item no menu do IE e executa o Bloco de Notas ao se clicar. A dúvida é, como eu faço para fazer a mesma coisa no Word, por exemplo:
Entendi todo o código, testei e realmente funciona, mas essa parte do Registro do Windows, bom, não funciona com outro aplicativo. Alguém sabe resolver essa questão?
Valeu!
Peununes
Curtidas 0
Respostas
Peununes
06/08/2005
Um dia depois... :) bom já que ninguém respondeu à pergunta...
Alguém sabe explicar essa chave ´ClSid´? Sem ela o código não funciona...
grande abraço!
Alguém sabe explicar essa chave ´ClSid´? Sem ela o código não funciona...
grande abraço!
GOSTEI 0
Beppe
06/08/2005
ClsID(de ClassID) corresponde a uma GUID(Global Unique Identifier) que identifica o objeto no sistema. Geralmente relacionada a ActiveX, através dela um objeto é instanciado.
GOSTEI 0
Peununes
06/08/2005
Blz! Sabes dizer-me por que esse caminho utilizado no IE não é padrão?Por que o Word não tem um caminho parecido no registro? Por exemplo, se qeu quizer colocar um botão no menu do Word, qual seria o caminho no registro para ter o mesmo efeito que teve no IE?
Grato.
Grato.
GOSTEI 0
Beppe
06/08/2005
Pq não há um padrão. Os desenvolvedores do IE resolveram implementar de uma forma, enquanto os desenvolvedores do Word resolveram de outra. Sendo chavônico, cada caso é um caso.
GOSTEI 0