![]() |
ProgID aus registry mit Programmverknüpfen
Hallo,
ich bin gerade dabei, werte aus der registry zu lesen, welche mit einer dateiendung verknüpft sind. Dort gibt es auf der einen seite eine liste mit programmen die sehr einfach zu lesen ist. auf der anderen seite gibt es noch eine liste in der so gennante ProgIDs stehen.
Code:
Dort stehen dann werte wie:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\OpenWithProgids
Code:
oder
jpegfile
Code:
wie kann ich nun aus diesen "werten" exe-namen auslesen?
WMP11.AssocFile.MP3
Vielen dank gruß |
Re: ProgID aus registry mit Programmverknüpfen
ProgIDs bezeichnen COM Objekte in DLLs. Es wird sich dabei wohl um COM-Server handeln, die die gewünschte Funktionalität zur Verfügung stellen.
|
Re: ProgID aus registry mit Programmverknüpfen
okay, und haben diese COM-Server eine hostanwendung
oder so etwas die ich auslesen könnte? gruß |
Re: ProgID aus registry mit Programmverknüpfen
Die DLL. Der Pfad und Name muss auch in diesem Schlüssel irgendwo stehen.
|
Re: ProgID aus registry mit Programmverknüpfen
und wie komme ich zu dieser dll?
ich habe ja scheinbar nur den namen dieses COM-Servers. sonst steht da nichts. der eintrag ist ein" binärer Wert der Länge 0" der Name des schlüssels entspricht dem namen des servers. gruß |
Re: ProgID aus registry mit Programmverknüpfen
Dann musst du dir dazu den Eintrag aus HKCR auslesen. Siehe dazu mein COM.Tutorial auf meiner Seite:
![]() |
Re: ProgID aus registry mit Programmverknüpfen
danke! :) ich werde es mir mal ansehen. :)
gruß |
Re: ProgID aus registry mit Programmverknüpfen
hm.... ich glaub ich verstehe es nicht so ganz... :(
tut mir leid... :? also ich habe einen COM-Server namen wie z.B. "WinRar.ZIP" nun möchte ich darauf eigentlich nur etwas wie C:\Programme....\WinRar.exe haben. ich habe mal etwas in der registry gestöbert und das verzeichnis HKEY_CLASSES_ROOT/CLSID etwas genauer betrachtet. dort finde ich zu vielen sachen programmpfade. zu manchen leider nur welche zu dlls. nun meine frage. wie kann ich bestimmen in welchem schlüssel nun die werte für "WinRar.ZIP" liegen. suchen kann es ja schlecht sein, das dauert ja stunden.... :( gibt es eine möglichkeit dies zu beschleunigen? Gibt es weiterhin aus einer dll eine Art Standartanwedung zu bekommen? Also aus der "WinRar.ZIP.dll" Ein Winrar.exe? gruß EDIT: okay... :wall: vielleicht mal HKEY_CLASSES_ROOT weiter durchsehen :wall: da steht alles |
Re: ProgID aus registry mit Programmverknüpfen
Du kennst dich mit Com-Objecte nicht wirklich aus oder?
Wenn es sich da um ein Com-Object handelt, dann brauchst du keinen Pfad, du musst nur das Object erstellen und ihm irgendwie die Datei übergeben :) Bye christian |
Re: ProgID aus registry mit Programmverknüpfen
Du kannst dir mit dem Code aus meinem Tutorial die GUID holen. Mit dieser kannst du denn den Schlüssel in der Registry öffnen und den Pfad zur DLL auslesen.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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