AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Welche Dateiendung soll ich verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Dateiendung soll ich verwenden?

Ein Thema von billi · begonnen am 2. Feb 2004 · letzter Beitrag vom 2. Feb 2004
 
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#29

Re: Welche Dateiendung soll ich verwenden?

  Alt 2. Feb 2004, 21:47
Ups... da hab ich blödsinn geschrieben. Es muss ein Wert "NeverShowExt" eingefügt werden

Ich verwende dafür immer folgende procedure:
Delphi-Quellcode:
procedure RegisterFileType(Extension: string; exepfad,
  description: string; IconIndex: integer);
var
  reg: TRegistry;
  Created: boolean;
  MyBin: array[0..3] of byte;
begin
  Created := False;
  try
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CLASSES_ROOT;
    //create a new key --> .[Extension]
    reg.OpenKey('.' + Extension, True);
    try
      //create a new value for this key --> [Extension]file
      reg.Writestring('', Extension + 'file');
    finally
      reg.CloseKey;
    end;
    //create a new key --> [Extension]file
    reg.CreateKey(Extension + 'file');

    //write description
    reg.OpenKey(Extension + 'file', True);
    reg.Writestring('', description);
    reg.Writestring('NeverShowExt', '');
    if reg.ValueExists('AlwaysShowExt') = True then
      reg.DeleteValue('AlwaysShowExt');

    MyBin[0] := 0;
    MyBin[1] := 0;
    MyBin[2] := 1;
    MyBin[3] := 0;
    reg.WriteBinaryData('EditFlags', MyBin, 4);

    reg.CloseKey;

    //create a new key pcifile\DefaultIcon
    reg.OpenKey(Extension + 'file\DefaultIcon', True);
    //and create a value where the icon is stored --> c:\project1.exe,0
    if reg.Readstring('') <> exepfad + ',' + IntToStr(IconIndex) then
    begin
      Created := True;
      try
        reg.Writestring('', exepfad + ',' + IntToStr(IconIndex));
      finally
        reg.CloseKey;
      end;
      reg.OpenKey(Extension + 'file\shell\open\command', True);
      //create value where exefile is stored --> c:\project1.exe "%1"
      try
        reg.Writestring('', exepfad + ' "%1"');
      finally
        reg.CloseKey;
      end;
    end;
  finally
    reg.Free;
  end;
  if Created = True then
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
 


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 20:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz