Ich habe Probleme mit dem Symbol der Dokumentdateien meiner Anwendung.
Erstens, ich bin die Registrierung die Dateierweiterung:Symbol (DefaultIcon) wird anders angezeigt
HKEY_CLASSES_ROOT\.Ext\(default) = AppName
Dann einen Shell-Befehl zum Öffnen und ein Symbol ich ihm geben:
HKEY_CLASSES_ROOT\[AppName]\shell\open\command\(default)="path\app.exe"
HKEY_CLASSES_ROOT\[AppName]\DefaultIcon\(default)="path\app.exe",0
Das Symbol wird angezeigt in Explorer, aber nicht das Original stattdessen zeigt er es auf einem weißen Blatt:
der linke die zugehörige Datei ist, die Richtig ist die ausführbare Datei.
Wie stelle ich die Registrierungseinträge so ein, dass das ursprüngliche Symbol angezeigt wird?
Ich nenne eigentlich 'SHChangeNotify' genau wie du erwähnt hast, tut mir leid, dass du das versteckt hast. Die Methode, die das Ganze funktioniert, funktioniert perfekt auf zwei weiteren Dateierweiterungen. So scheint es, dass Sie richtig sind - vielleicht treffe ich eines Tages "Öffnen mit". Das Hässliche ist, dass es mit der aktuellen Implementierung nicht repariert werden kann. Hast du einen Hinweis dafür? Irgendwo muss es einen Cache geben? – joe
Zuerst sollten Sie versuchen, die Anwendung auf einem neuen Computer zu registrieren (und wenn Sie keinen Zugang zu einem haben, versuchen Sie es zumindest mit einem anderen Benutzerkonto), und wenn es nicht funktioniert, gibt es ein Problem mit der Registrierung (Pfad? Zitate?). Die Art und Weise, wie der Explorer Dinge handhabt, ist nicht dokumentiert, aber Sie können versuchen, was ich bereits vorgeschlagen habe: Suchen Sie nach Ihrer Erweiterung im Schlüssel "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts" und den Schlüsseln "% yourext% _auto_file" in HKCR und lösche sie. Wenn Ihre Erweiterung eindeutig ist, können Sie Ihre App deinstallieren und dann nach Schlüsseln/Werten suchen, die Sie nicht erstellt haben. – Anders