AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Anwendung zur Dateierweiterung aus der Registry lesen
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendung zur Dateierweiterung aus der Registry lesen

Ein Thema von mm1256 · begonnen am 22. Mai 2015 · letzter Beitrag vom 23. Mai 2015
Antwort Antwort
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 16:02
Hallo,

früher ging da ja einfach, und auch alle Suchergebnisse im WEB bringen das "alte" Ergebnis. Wo früher unter "shell\open\command" das Programm stand, steht bei mir beispielsweise unter ".mid" der "PersistentHandler". Suche ich über dessen ID weiter, komme ich zum Key "PersistentAddinsRegistered", welcher wieder einen Unter-Key hat. Der wiederum hat nur den Key "InprocServer32". Hier ist aber kein Verweis auch die Programmdatei.

Gibt es denn eine Doku, wie das alles zusammen hängt. Ideal wäre natürlich ein Beispielcode.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 16:06
Was heißt "früher"? Windows 98, 2000, XP, Win7?
Was heißt "jetzt"? WinXP, Win2000, Win7?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 16:39
W7 müßte unter "früher" fallen:
Angehängte Grafiken
Dateityp: jpg Neue Bitmap.jpg (31,1 KB, 23x aufgerufen)
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 19:38
Was heißt "früher"? Windows 98, 2000, XP, Win7?
Was heißt "jetzt"? WinXP, Win2000, Win7?
Du hast also auch keinen Plan und weißt nicht, was - und wann - Microsoft da geändert hat (nehme ich zumindest jetzt an, sonst würdest du nicht fragen, was ich mit "früher" meine).

Die "alte Logik" zum Eintragen einer Dateierweiterung funktioniert ja nach wie vor auch unter Win7 und Win8, aber ich muss leider den umgekehrten Weg gehen...die passende Anwendung zur Dateierweiterung finden.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#5

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 19:55
Ist zwar nicht so ganz das, was du suchst, aber vielleicht hilft es dir trotzdem weiter: ExtractAssociatedIcon:
Zitat:
lpIconPath [in, out]
[...]The function extracts the icon handle from that file, or from an executable file associated with that file. If the icon handle is obtained from an executable file, the function stores the full path and file name of that executable in the string pointed to by lpIconPath.
D.h. wenn man der Funktion ein "C:\dokument.doc" übergibt, müsste man den Pfad zu Word bzw. WordPad im selben Parameter wiederfinden. Ob das tatsächlich so ist, weiß ich nicht. Ich vermute sogar, dass es eine geeignetere Funktion für die Aufgabe gibt.

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 19:57
Evtl. MSDN-Library durchsuchenFindExecutable?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Anwendung zur Dateierweiterung aus der Registry lesen

  Alt 22. Mai 2015, 23:35
Vielen Dank DeddyH, genau das isses

Zur Info für die Mitleser:

Delphi-Quellcode:
function FindExeForFileName(AFileName : string;
                          var AResult : string): boolean;
var
  Buffer : array[0..MAX_PATH] of Char;
  Handle: THandle;
begin
  AResult := 'Unbekannt';
  Handle := FindExecutable(PChar(AFileName),nil,Buffer);
  Result := Handle > 32; // EDIT: Fehler, war Handle >= 32
  if Result then AResult := String(Buffer) else
  case Handle of
    SE_ERR_FNF : AResult := 'Datei '+AFileName+' ist nicht vorhanden';
    SE_ERR_PNF : AResult := 'Ungültiger Pfad'; // kann eigentlich nicht sein ;-)
    SE_ERR_ACCESSDENIED : AResult := 'Zugriff verweigert';
    SE_ERR_OOM : AResult := 'Woow...kein Speicher mehr. XE-8 läuft ???';
    SE_ERR_NOASSOC : AResult := 'Kein assoziiertes Programm gefunden';
  end;
end;
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen

Geändert von mm1256 (23. Mai 2015 um 09:00 Uhr)
  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 17:06 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