Autor Beitrag
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 10.10.02 21:16 
schau dir mal diesen beitrag an:
www.swissdelphicente...showcode.php?id=1115
hier wird erklärt wie man einen button in IE einbindet. aber wie muss ich die(oder das, der) guid umändern das ich weitere button einfügen kann??


CU

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.10.02 07:00 
Offenbar wusste der Autor selbst nicht, wie´s geht, sonst hätte er nicht geschrieben:
Zitat:
Your classID. I won`t explain it because its complex.

:roll: Immerhin gibt´s ´ne recht einfache Funktion, die dir das abnimmt:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
uses
  ComObj;

procedure CreateExplorerButton(Path: string);
var
  Tagit : string;
  { ... }
begin
  Tagit := CreateClassID;

  { ... }
end;

Die Konstante "Tagit" entfernst du, meine Änderung übernimmst du, und der Rest ist die unveränderte Funktion aus dem SwissDelphiCenter.

Gruß,
Mathias.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.10.02 07:17 
Oder besser: machen wir gleich eine universell nutzbare Funktion daraus:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
uses
  Registry, ComObj;

procedure CreateExplorerButton(const szAppname, szButtonText,
  szMenuText, szStatusbarText: string; const IsVisible: boolean;
  const szHotIcon, szIcon: string);
const
  IEExtensions = 'Software\Microsoft\Internet Explorer\Extensions\';
  DefVisible : array[boolean]of string = ('No','Yes');
var
  reg : TRegistry;
begin
  reg := TRegistry.Create;
  with reg do
    try
      RootKey := HKEY_LOCAL_MACHINE;
      if(OpenKey(IEExtensions + CreateClassId,true)) then
        try
          WriteString('ButtonText',szButtonText);
          WriteString('MenuText',szMenuText);
          WriteString('MenuStatusBar',szStatusbarText);
          WriteString('CLSID','{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}');
          WriteString('Default Visible',DefVisible[IsVisible]);
          WriteString('Exec','"' + szAppname + '"');
          WriteString('HotIcon',szHoticon);
          WriteString('Icon',szIcon);
        finally
          CloseKey;
        end;
    finally
      Free;
    end;
end;

So, damit kann alles via Parameter angegeben werden, und der Aufruf reduziert sich auf:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateExplorerButton(paramstr(0), // Pfad meiner Anwendung
    'MeinButtontext', // Buttontext
    'MeinMenüeintrag', // Text im Menü "Extras"
    'Text in der Statuszeile', // Text in der Statuszeile
    true, // Button sichtbar?
    ',1', // HotIcon
    ',2'); // Icon
end;

@Tino: Wäre doch ein Beitrag für die FAQs? Oder? :wink:
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 11.10.02 08:04 
MathiasSimmack hat folgendes geschrieben:
@Tino: Wäre doch ein Beitrag für die FAQs? Oder?

Gute Idee. Postest Du den Beitrag in die FAQ? Dann steht auch Dein Name mit dabei :-D

Gruß
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.10.02 08:39 
wo ich doch soviel Wert auf namentliche Erwähnungen lege ... :roll:
patrick Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Fr 11.10.02 13:25 
danke für die schnelle antwort
ich schau mal ob mein IQ ausreicht damit ich das auch umsetzten kann :oops:

THX

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
patrick Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: So 13.10.02 11:35 
mein IQ hat gereicht :P :P :P

geht,klappt und läuft!!!

danke:!:

_________________
Patrick
im zweifelsfall immer das richtige tun!!!