AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mal wieder Dateierweiterungen

Ein Thema von Meflin · begonnen am 1. Mai 2004 · letzter Beitrag vom 1. Mai 2004
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 10:58
Hi,
ich verwende diese functions um die dateiendungen meines progs zu verwalten:
Delphi-Quellcode:
function InstallExt(Extension, ExtDescription, FileDescription,
                    OpenWith, ParamString: String; IconIndex: Integer): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
     begin
      RootKey := HKEY_CLASSES_ROOT;
      OpenKey(Extension, True);
      WriteString('', ExtDescription);
      OpenKey('\' + ExtDescription, True);
      WriteString('', FileDescription);
      OpenKey('DefaultIcon', True);
      WriteString('', OpenWith + ','+IntToStr(IconIndex));
      OpenKey('\' + ExtDescription + '\Shell\Open\Command', True);
      WriteString('', '"' + OpenWith + '" "' + ParamString + '"');
     end;
   Result := True;
  except
   Result := False;
  end;
  Reg.Free;
end;

function UnInstallExt(Extension, ExtDescription: String): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
     begin
      RootKey := HKEY_CLASSES_ROOT;
      DeleteKey(Extension);
      DeleteKey('\' + ExtDescription);
     end;
   Result := True;
  except
   Result := False;
  end;
  Reg.Free;
end;
was mus ich machen bzw wie muss ich es machen, dass eine so installierte endung ein anderes icon erhält wie das mainicon des progs? mit dem iconindex komm ich irgendwie net klar!

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 11:05
Meinst du dass in einer Datei (dll oder exe oder so) mehrere Icons sind, die verwendet werden, anstatt von vielen einzelnen???
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 11:11
Hi!

Ich denke mal, er will, dass ein mit seinem Programm verknüpfter Dateityp ein anderes Icon hat als seine Programm-Datei.

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 11:17
korrekt
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 11:31
also wie das genau funktioniert weiß ich nicht...
aber du kannst ja mal bestehende Schlüssel ansehen, zB die von Office. Da is das so...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 11:48
so weit ich weiß gibt man einfach die symboldatei an und dann mit Komma getrennt den Index
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 14:41
Moin Meflin,

Du kannst in Deiner Programmdatei mehrere Icons einbinden.
Das MainIcon ist dann das, was Windows für Dein Programm anzeigt.
Sind weitere enthalten, musst Du nur den entsprechenden Index an die Funktion übergeben.

Andere Variante:
Du erweitertst die Funktion dahingehend, dass beim Key DefaultIcon nicht der Pfad des Programmes genommen, wird, sondern halt das, aus dem das Icon kommen soll.

BTW:
Zu jedem OpenKey gehört auch ein CloseKey.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 14:54
ok hab ich gemacht. wenn ich in den ordneroptionen die dateiendungen überprüf, stimmt das icon. aber im explorer wird immernoch das mainicon verwendet?!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 14:58
Moin Meflin,

dann schau Dir mal SHChangeNotify an.
In Deinem Falle in Kombination mit dem Flag SHCNE_ASSOCCHANGED.

Der Explorer wird sich das Icon vermutlich aus der Systemimagelist ziehen, bei der aber, sozusagen, die Änderung noch nicht angekommen ist.

Ersatzweise sollte es auch ein Reboot tun.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#10

Re: Mal wieder Dateierweiterungen

  Alt 1. Mai 2004, 15:02
ok jetzt passt alles!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz