AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Datentypen in der Registry

Datentypen in der Registry

Ein Thema von delnu · begonnen am 16. Okt 2015 · letzter Beitrag vom 22. Okt 2015
Antwort Antwort
Seite 2 von 2     12
nahpets
(Gast)

n/a Beiträge
 
#11

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 08:21
Hallo,

hab' gerade mal geschaut, was es mit OpenWithList und OpenWithProdIDs auf sich hat:

Erklärung in (gruseligem deutsch): https://msdn.microsoft.com/de-de/lib...vs.120%29.aspx
Das englische Original: https://msdn.microsoft.com/en-us/library/bb166549.aspx

Grob erklärt: In diesen Listen findet man die Programme, die im Menü auf der rechten Maustaste im Explorer bei "Öffnen mit" aufgeführt werden, auch dann, wenn eine Dateiendung eigentlich einer anderen Anwendung fest zugeordnet ist.

Weitere Infos:
http://www.winfaq.de/faq_html/Conten...?h=tip1767.htm

Von daher solltest Du für Deine Aufgabenstellung diese beiden Listen ignorieren können, willst Du verhindern, dass Anwender andere Programme, als die von Dir zugewiesenen, per Explorer nutzt, musst Du diese Listen löschen.
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#12

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 11:09
Wozu diese Listen da sind, weiß ich doch und ich brauche sie auch.
Danke trotzdem für das Raussuchen der Links. Ich werde sie mir gleich ansehen.

Dateien öffne ich grundsätzlich über den "Total Commander".

Normales Klicken auf die jeweilige Datei = Öffnen mit dem Standardprogramm rechte Maustaste = "Öffnen mit" anwählen und das gewünschte Programm wählen.

Meine Probleme dabei:
1.) Wenn ich ein neues Programm als Standard zuweise ( egal ob direkt über diesen Dialog oder über Systemsteuerung -> Ordneroptioen -> Dateitypen ) taucht es in der Registry nicht als regulärer Eintrag auf, sondern nur unter "OpenWithList". Darum muß ich diese Listen aus der Registry einlesen und auswerten können.
2.) Wenn Windows für bestimmte Endungen seine fürchterlichen, eigenen "Programme" als Standard zuweist und man ändert das, wird die Änderung nicht zur neuen Basis erhoben, sondern von Windows wie ein Fremdkörper betrachtet. Man kann dann unter "Dateitypen (s.o.) nicht nochmal ändern, sondern allenfalls den angeblichen Standard wieder herstellen und erst dann was Neues zuweisen.

Diesen Windows-eigenen Mist (also die Programme) total zu löschen, habe ich mich nicht getraut und die
Einträge über "Dateitypen" (s.o.) erst komplett zu löschen und dann neu anzulegen, war mir immer viel zu mühsam. Windows krallt sich doch fast alles für seinen Schrott-Mediaplayer, seinen bescheuerten Bildbetrachter usw.

Für Grafiken will ich zum Betrachten und leichte Manipulationen (z.B. Größenänderungen, Ändern der Farbtiefe oder Konvertierung in andere Grafikformate) natürlich IrfanView und setze ihn zum Standard.

Viel ich aber echte Bildbearbeitung, kommt es auf den Anwendungszweck an, z.B. ob ich ein Morphprogramme nutzen will, eins zum Splitten bzw. Erzeugen von Animationen, z.B. der tollen animierten Smilies ( um aus Teilbildern neue zu basteln ), eins um aus normalen Fotos beispielsweise nahtlos aneinander reihbare Hintergrundgrafiken fürs Web zu basteln, ein anderes und GIMP benutze ich wegen seiner unübersichtlichen Handhabung in der Regel nur, um bei GIF und PNG transparente Hintergründe setzen zu können, weil ich kein anderes Programm habe, mit dem das geht.

Also allein für Grafiken 5 Programme, aber an erste Stelle der Auswahlliste setzt Windows dennoch immer sein blödes "Windows Bild- und Faxanzeige" und Paint. Na gut, Paint kann man wenigstens ganz entfernen.

Für Videodateien brauche ich VLC als Standard zur Wiedergabe, aber dann ein spezielles für die Videokamera, weil die noch mit Band und altem AVI arbeitet, und zur Bearbeitung mindestens AVIDEMUX. Zur Fertigstellung ein weiteres und natürlich einen universellen Formatkonverter = also 5, wozu Windows einem dann meist auch noch den Mediaplayer und/oder den Moviemaker unterjubelt.

Bei Grafiken und Videos hätte ich dann noch die Spezialprogramme für 3D (also echtes Stereo) ...

Für Sounddateien brauche ich auch mindestens 3 oder 4 Programme, je nach Dateityp.

Außer einfachem Betrachten, wozu ich meine Standards anstelle der von Windows setzen will, was alles mit portablen Programmen agedeckt werden kann, muß ich eben auch diese Auswahl für die anderen Anwendungszwecke haben. Davon sind zwar nur wenige portabel, aber das ist nicht entscheidend dafür, daß ich alle Zuweisungen aus der Registry auswerten (und später auch ändern) können will.

Die Umständlichkeiten der Windows-eigenen Methoden finde ich einfach widerlich. Statt alles in einer komplett übersichtlichen Liste zu zeigen, muß man immer mehrfach irgendwas anklicken, um dann aber auch nur einen winzigen Teil des Gesamten zu Gesicht zu bekommen. Und das dann zeitraubende zig Male.

Wenn also jemand weiß, wie ich an die Zuordungen aus HKEY_CURRENT_USER komme und insbesondere auch vor allen an "OpenWithList", fände ich es ganz toll, dieses Geheimnis mit mir und anderen zu teilen !

Nachtrag:
Der dritte Link (von winfaq) ist hilfreich.

Erste Versuche, den Schlüssel über ein weiteres reg.OpenKey zu öffnen, sieht vielversprechend aus.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ FileExts\<Dateiendung>\OpenWithList



Man muß dann allerdings z.B. reg.ReadString('a'); für die erste Zuweisung benutzen und weiter mit "b" usw., wobei ich natürlich noch rausfinden muß, wie man ohne Angabe der Reihenfolgebuchstaben usw. die ganze Gruppe komplett liest. Immerhin scheint aber "a" immer zu funktionieren, sofern eine Zuweisung vorhanden ist. Das müßte dann auch der Standard sein und auf den kommt es mir in erster Linie an.

Ich habe mal meine aktuelle Ersetzung für "Button2Click" des Testbeispiels angehängt. Das ist nicht "die Lösung", sondern auch nur ein Testansatz. Was mir da teilweise an seltsamen Ergebnissen (auch für mir völlig unbekannte Dateitypen) geliefert wird, ist wunderlich. Da haben sich außerdem zum Teil auch mir völlig unbekannte Programme - vielleicht längst deinstalliert oder nie genutzt - breitgemacht
Angehängte Dateien
Dateityp: txt BTN2CLICK.TXT (2,2 KB, 3x aufgerufen)

Geändert von delnu (22. Okt 2015 um 12:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

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

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 20:19
Mal ne blöde Frage: Wenn du sowieso Total Commander benutzt, wieso greifst du dann nicht auf dessen interne Verknüpfungen zurück? Dort kann man ebenfalls mehrere Programme definieren.

MfG Dalai
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#14

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 21:22
Was meinst Du mit "interne Verknüpfungen" ?

Wenn ich normal (linke Maustaste) auf einen Menüeintrag klicke, wird die durch Windows jeweils zugewiesene Standard-Application aufgerufen. Das sind die üblichen Schrottprogramme.

Wenn ich also aus diesem Grund mit der rechten Maustaste im Menü auf "Öffnen mit" klicke und neue Programme zuweise, sind das keine anderen, als die über Systemsteuerung -> Ordneroptionen -> Dateitypen als "empfohlene Programme" auftauchen. Die Zuweisung per Total Commander ist aber nicht das, worum es mir geht. Damit lassen sich unpassende, durch Windows erstellte Registry-Einträge und die Reihenfolge, welches man an erster Stelle, also als Default haben will, nicht erstellen.

Ach, jetzt beim Durchsuchen der Konfiguration sehe ich, was Du meinst.
Operation -> Viewer/Editor -> Verknüpfungen.

Ich erinnere mich dunkel, das mal irgendwann getestet zu haben. Aber anscheinend war ich damit unzufrieden.

Trotzdem danke für den Hinweis. Vielleicht setze ich das mal für irgendwas ein. Die Beschreibung in der Hilfe habe ich so verstanden, daß diese Einträge nicht nur in der wincmd.ini, sondern zusätzlich in win.ini und der Registry gespeichert werden.

Aber wie schon mehrfach erwähnt: Mir geht es nunmal überhaupt um die Registry. Wie ich mittlerweile bei meinen letzten Tests gemerkt habe, gibt es da jede Menge Müll zu entfernen und Reihenfolgen von Zuweisungen (sofern sie überhaupt bleiben sollen) neu zu ordnen. Momentan versuche ich, die bisherigen Erkenntnisse so zu erweitern, daß die zunächst nur ausgelesenen Werte editierbar werden und dann auch geschrieben werden können.

So eine schnelle Übersicht kenne ich von keiner Standardanwendung, geschweige denn von Regedit und ich kenne auch nichts, das überhaupt eine Ergebnisliste der OpenWithList-Eintäge in einer übersichtlichen Tabelle zeigt.

Du darfst Dich gerne an der Suche nach Möglichkeiten beteiligen. Lade Dir ruhig mal die weiter vorn angehängte ZIP-Datei und ersetze die eine Leerprozedur durch die zuletzt angehängte Textdatei. Dann wirst Du sicher schnell realisieren, was mir insgesamt vorschwebt und wie nützlich das sein wird. Mir ist kein Tool bekannt, daß diesen Bereich abdeckt.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

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

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 21:30
Was meinst Du mit "interne Verknüpfungen" ?

Ach, jetzt beim Durchsuchen der Konfiguration sehe ich, was Du meinst.
Operation -> Viewer/Editor -> Verknüpfungen.
Nein, das meine ich nicht. Ich meine Menü Dateien > Interne Verknüpfungen (Nur in Total Commander).

Zitat:
So eine schnelle Übersicht kenne ich von keiner Standardanwendung, geschweige denn von Regedit und ich kenne auch nichts, das überhaupt eine Ergebnisliste der OpenWithList-Eintäge in einer übersichtlichen Tabelle zeigt.
Wie wär's mit FileTypesMan? Der unterstützt - typisch für NirSoft - Kommandozeilenparameter, ist also vielleicht sogar skriptbar in der Richtung, wie du es benötigst.

[ADD] Oder auch ExtMan [/ADD], wobei der AFAIK keine Parameter unterstützt.

MfG Dalai

Geändert von Dalai (22. Okt 2015 um 21:39 Uhr)
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#16

AW: Datentypen in der Registry

  Alt 22. Okt 2015, 22:16
Ich meine Menü Dateien > Interne Verknüpfungen (Nur in Total Commander).

Huch ? Das habe ich ja noch nie gesehen, wahrscheinlich weil ich eigentlich immer nur das Konfigurationsmenü benutze, z.B. für Buttonbars, sonst die Funktionen für Dateivergleich und den FTP-Zugriff und seltener auch mal die Mehrfachumbenennung.

Danke für die Links. Das werde ich mir gleich mal ansehen.

Geguckt ... Das ist ja ohne Source. Schade ! Damit kann ich leider nichts anfangen.

Geändert von delnu (22. Okt 2015 um 22:23 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:29 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