Hallo !
Danke, daß Du mir meinen Ansatz angesehen hast.
Wenn das mal so einfach wäre mit "Eigentlich musst Du die Logik, die Du schon implementiert hast nur geringfügig anpassen." ...
Leider ist dabei nämlich nichts rausgekommen, obwohl ich Verschiedenes probiert habe.
Allerdings stimmt es (wie ich gerade geprüft habe), daß der Zweig durch
Zitat:
reg.rootkey := HKEY_CURRENT_USER;
if reg.OpenKey('Software\Microsoft\Windows\CurrentVer sion\Explorer\Fileexts', False) then
tatsächlich korrekt geöffnet wird. Zur Kontrolle habe ich mal ShowMessage benutzt.
TypeName wird nicht gefunden, weil nicht vorhanden, entsprechend auch der Rest nicht.
Es werden ausser der Extension keine weiteren Ergebnisse geliefert und darum taucht dann auch keine der gefundenen Extensions in der Gesamtliste auf. Die haben dann allenfalls "Application" und "ProgID", aber die meisten eben nur "OpenWithList" und "OpenWithProgIds".
Die kann ich also leider nicht ignorieren, denn viele meiner Zuweisungen für IrfanView sind nur dort (unter HKEY_CURRENT_USER im von Dir genannten Zweig) eingetragen. Ausserdem möchte ich durchaus wählen können, ob ich z.B. eine
HTML-Datei mit Notepad++ öffne oder mit einem der unterschiedlich vielen zur Auswahl stehenden Browser. Wenn mir da also jemand einen Rat geben könnte, wäre das super.
Immerhin habe ich es jetzt (während des Schreibens des Beitrags teste ich) schon soweit geschafft, daß jetzt wenigstens schon die Extensions in die Liste übernommen werden. Aber wie ich an die paar vereinzelten "Application" und "ProgID" kommen soll, weiß ich nicht. Ich habe mal die momentane (noch sehr chaotische, weil unfertige) "Button2Click" als Textdatei angehängt. Einfach die bereits integrierte leere Prozedur ersetzen und im Objektinspektor "visible" auf true setzen.
Vielleicht weißt Du da weiter ? Deine bisherigen Tipps waren jedenfalls schon sehr nützlich. Danke nochmal !
Außerdem habe ich festgestellt, daß die von mir abgewandelte Grundmethode nicht alle Einträge berücksichtigt. Das hatte ich erst gemerkt, nachdem ich die
Unit von
http://www.delphipraxis.net/64577-re...unktionen.html ausprobiert habe. Die mußte zwar erst etwas fehlerbereinigt werden, aber die dort integrierte Prozedur "WriteExtList" ist gute Arbeit.
Nachtrag: Die hier angehängte Textdatei ist lediglich ein Replacement für eine gleichnamige (aber leere) Prozedur meines oben in der ZIP-Datei "reg.zip" enthaltenen Testes und ergibt (ohne dasselbe) wenig Sinn. Dieser Hinweis erfolgt, weil die Textdatei schon zweimal runtergeladen wurde, die ZIP-Datei aber nur einmal. Also nicht einfach die Textdatei runterladen und denken, die wäre für sich betrachtet irgendwie besonders informativ. Ganz im Gegenteil ! Das ist wirklich nur ein unfertiger Versuch, der bloß zusammen mit dem Testprog Sinn hat.