Canonical Names

  • Hallo,

    zuerst ich benutze Windows 10 Pro 64bit 17134, also die neuste Version.

    Ich möchte die Seite: "Einstellungen | Apps | Standard-Apps | Standard-Apps nach Dateityp auswählen" aufrufen.

    Das ging bisher bei AutoIt immer mit:

    Run(@ComSpec & " /c " & "control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc", "", @SW_HIDE)

    Aber bei der neusten Version von Windows 10, geht das nicht mehr. Da kommt nur noch das blaue Fenster mit dem weißen Zahnrad und das wars dann.

    Anscheinend haben sich da bei der neusten Version von Windows 10 (April Update oder Chaos Creator Update:D) die Canonical Names etwas geändert.

    Aber unter:

    https://msdn.microsoft.com/en-us/library/…DefaultPrograms

    steht davon nichts.

    Weiß da einer etwas genaueres, oder ist das etwa wieder ein neuer Fehler in der neusten Version von Windows 10;(

    Und noch eine Frage:

    Kann man die Liste mit den Dateitypen auch durchsuchen und direkt zu einem Dateityp (z.B. .pdf) springen?

    MfG:

    BigRox

  • Also wenn du die Seite in der alten Systemsteuerung meinst, geht das über die GUID so:

    Run(@SystemDir & "/control.exe /name {17cd9488-1228-4b2f-88ce-4298e93e0966} /page pageFileAssoc")

    Direkt auf die Seite in der neuen Windows 10 Einstellungs-App kann man nicht zugreifen (das hat nicht mal Microsoft selber geschaft xD).

    Die Seite davor kannst du aber auch so aufrufen:

    Windows 10 Einstellungen Standard-Apps

    FileCreateShortcut("ms-settings:defaultapps", @DesktopDir & "\standardapps.lnk")

    ShellExecute(@DesktopDir & "\standardapps.lnk")

    FileDelete(@DesktopDir & "\standardapps.lnk")

    Der elegantere Weg, je nachdem was du vorhast, wäre jedoch über die Registry, wo die ganzen Einträge gespeichert sind.

    LG NO1 :)

  • Hallo NO1 :-),

    was soll man dazu sagen?

    Da haben sich die Damen und Herren in Redmond aber wiedermal ein ganz schön dickes Ei gelegt:D.

    Ich höre die, die Windows 10-Rechner in grösseren Firmen administrieren müssen schon laut "jubeln".

    Nach jedem Update, neue Probleme, da kommt aber so richtig Freude auf.

    (Microsoft versucht anscheinend mit Windows 10 andauernd "auszuloten", wie viel Bevormunderei usw. die Kunden gerade noch akzeptieren).

    Auch die Sache, dass einige Programme nicht als Standardanwendungen ausgewählt werden können, ist ganz schön schwach und bringt wohl so manchen Benutzer ordentlich in Rage.

    Wenn man z.B. Opera Mail als Standard Mail-Programm haben will, so geht das nicht, da dieses Programm nicht ausgewählt werden kann und es anscheinend auch keine Möglichkeit mehr gibt, diese Programm in die Liste der Mail-Programme einzufügen..

    Das geht nämlich nur noch mit Apps, die Microsoft auf dem Rechner seiner Kunden will, so kann man, so ganz nebenbei, auch lästige Konkurrenten loswerden.

    Aber vielleicht geht das ja irgendwann, nach ordentlich Kundenprotesten usw. und zehn+ vermurksten Updates wieder.

    Im Internet steht jedenfalls schon einiges zu dem Thema (nur leider auch keine Lösung).

    Geht der elegante Weg über die Registry überhaupt noch, da sind doch einige Dateizuordnungen geschützt, damit sie nicht so einfach geändert werden können?

    Jedenfalls bei .pdf scheint das nicht mehr zu gehen, die Endung kann ich nur noch händig über die Einstellungs-Menüs ändern.

    MfG:

    BigRox

  • (Microsoft versucht anscheinend mit Windows 10 andauernd "auszuloten", wie viel Bevormunderei usw. die Kunden gerade noch akzeptieren).

    Ja, also das versteh ich auch nicht... Die schaffen's mehr Mist zu bauen wie sie's zwischen Windows 95 und 7 auf die Reihe gebracht haben ^^. Zum Glück greifen unsere Politiker mal bzgl. dem Datenschutz ein (naja aber das gehört hier dann nicht mehr ins Forum meiner Ansicht nach).

    Geht der elegante Weg über die Registry überhaupt noch, da sind doch einige Dateizuordnungen geschützt, damit sie nicht so einfach geändert werden können?

    Ja ich denke schon, dass das noch möglich ist... wenn ich in die Registry geh' ist bei mir unter dem Dateiformats-Schlüssel unter shell/open/command der AdobeReader eingetragen, also funktioniert auch wie gewünscht... wenn du natürlich Fragen hinsichtlich der Registrierung an sich bzw. den Standardanwendungen oder andere Fragen hast, kannst du sie auch gerne stellen ;)

    LG NO1 :)

  • Geht der elegante Weg über die Registry überhaupt noch, da sind doch einige Dateizuordnungen geschützt, damit sie nicht so einfach geändert werden können?

    Ich hatte neulich versucht, über diverse Verweise in der Registry den zzt. AKTUELLEN Internetz-Browser (bei mir ist Opera in der Systemsteuerung eingestellt) herauszufinden.

    Nach einigem gegoogel fand ich dann heraus, dass es diese "allgemeine" Zuordnung überhaupt nicht mehr gibt!

    Man kann lediglich für alle möglichen und unmöglichen Zuordnungen zum Browser (bspw. FTP oder MAIL oder HTTP/HTTPS usw.) sowie die vom Browser zu öffnenden Dateien in der Registry an den unterschiedlichsten Orten verteilen.

    Daher ist es auch möglich einen Link aus dem (bzw. beliebigen) Browser heraus mit bspw. Opera oder Firefox zu öffnen, der gleiche Link aus einem PDF heraus angeklickt (oder einer Mail) öffnet aber den Internet-Explodierer bzw. Edge :Face:Ja, es ist sogar möglich VERSCHIEDENE Browser mit mit diesem Verhalten anzusprechen. Welcher Browser aktuell bei einem doppelklick auf eine lokale HTML-Datei geöffnet wird, kann man nicht vorhersagen...

    Die supersimple Aufgabe "such mal mit google nach .... und gib das Ergebnis im STANDARD-Browser XYZ aus" verkommt zu einer Reise durch die Registry:Glaskugel:

    • Offizieller Beitrag

    Hallo,

    unter Windows 10 gibt es die Möglichkeit via DISM.exe /Online /Export-DefaultAppAssociations:<PATH_TO_XML> die Zuordnung der Standard-Apps zu exportieren. Diese XML kann man sich dann anpassen und via DISM.exe /Online /Import-DefaultAppAssociations:<PATH_TO_XML> die neue Zuordnung Importieren. In der Version 1709 erhält man bei DISM.exe /Online /Export-DefaultAppAssociations:<PATH_TO_XML> evtl. den Fehler 0x80004002, dann kann man sich mit DISM.exe /Online /Get-DefaultAppAssociations > <PATH_TO_XML> behelfen.

  • Hallo,

    bei mir unter dem Dateiformats-Schlüssel unter shell/open/command der AdobeReader eingetragen

    das geht bei mir auch und das mache ich auch öfters. Zusätzlich ändere ich meistens auch den Standardwert, so das ich sehen kann, welches Programm bei einem Klick aufgerufen wird (z.B. "Mit AIMP wiedergeben" oder "AutoIt-Script mit SciTE bearbeiten" usw.).

    Die supersimple Aufgabe "such mal mit google nach .... und gib das Ergebnis im STANDARD-Browser XYZ aus" verkommt zu einer Reise durch die Registry

    Genau darum währe es wohl sinnvoll, wenn man alle auf dem PC installierten Programme (natürlich nur die sinnvollen), auch zur Auswahl als Standardprogramm angeboten bekommt. Dann bräuchte man nicht massig Registry-Schlüssel selber zu ändern, sondern könnte Windows das machen lassen.

    In der Registry kann man ja auch viel Mist machen, daher währe es mir auch lieber, wenn Windows das selber macht, dann wird es (hoffentlich) auch funktionieren.

    Aber z.B. Opera-Mail (der einzelne Mail-Client) wird da als Standardprogramm gar nicht aufgeführt, da gibt es nur "Outlook (Desktop)" und "Im Store nach einer App suchen" und diese zwei Auswahlmöglichkeiten gibt es auch nur an anderen Stellen. Somit kann man auch das "mailto"-Protokol nicht an "Opera-Mail" binden, was dann einige Funktionseinschränkungen bedeutet. Macht man das mit dem "mailto"-Protokol manuell, so findet Windows das wohl nicht so toll und man kann einige Seiten in den Einstellungen nicht mehr aufrufen.

    Nur irgendwie muss es doch mit den Standardprogrammen gehen, viele andere Programme machen das doch auch und die "kochen auch nur mit Wasser".

    Wenn man wüsste wie das geht, dann könnte man ja das Eintragen von Standardprogrammen auch mit AutoIt erledigen.

    Das wechseln des Standardprogramms bräuchte man ja nicht per Script erledigen zu können, dass könnte man ja auch weiterrinn nur manuell machen.

    MfG:

    BigRox

  • Ich lese es - und wundere mich - warum läßt man sich das gefallen?

    Ok- ich gebs zu - ich arbeite mit xp :rofl:

    Sonnige Grüße

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Also ich hole mir so das Standard-Programm... funktioniert aber leider nicht, wenn für den Dateityp oder das Protokoll eine App registriert ist.

    pasted-from-clipboard.png

  • Das wechseln des Standardprogramms bräuchte man ja nicht per Script erledigen zu können, dass könnte man ja auch weiterrinn nur manuell machen.

    Das Problem ist ja nicht, das "Standardprogramm" festzulegen, sondern Windows 10 beizubringen, dieses als "Standard" (GENAU deswegen heißt das ja so!) für die Anwendung(en) zu benutzen!

    In den früheren Windowsversionen habe ich Opera ein einziges Mal als "Standard" definiert und konnte danach sicher sein, dass sämtliche (auch nachträglich installierte !) Protokolle damit arbeiteten.

    Somit kann man auch das "mailto"-Protokol nicht an "Opera-Mail" binden, was dann einige Funktionseinschränkungen bedeutet. Macht man das mit dem "mailto"-Protokol manuell, so findet Windows das wohl nicht so toll und man kann einige Seiten in den Einstellungen nicht mehr aufrufen.

    Das habe ich genau so auch schon festgestellt....und den Sinn dahinter überhaupt nicht verstanden.

    Denn das kuriose ist, dass es FUNKTIONIERT, wenn man nur tief genug in den Einstellungen /Registry gräbt und dort händisch Änderungen und Konfigurationen vornimmt.

    "Früher" hat dazu ein Button-Klick gereicht, heutzutage reichen nicht mal Ausflüge nach Nerdistan, um überhaupt die kleinste Konfiguration fehlerfrei hinzubekommen. Liest sich ja fast so, als ob Windows immer näher ans Linux-Lager anrückt.

    Vielleicht ist es sogar besser, diesem Kram den Rücken zu kehren und direkt ins kalte Wasser zu springen und auf Apple umzusatteln. Bis die Redmonter solch eine Verknüpfung von Hard- und Software hinbekommen, hat man auch kapituliert und die Bevormundung durch das System zähneknirschend "abgenickt" um wenigstens stressfrei arbeiten zu können....

    DAS kann ich bei Apple SOFORT haben:theke:

    • Offizieller Beitrag

    Das ging bisher bei AutoIt immer mit:

    Run(@ComSpec & " /c " & "control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc", "", @SW_HIDE)

    Probier es mal mit der CLSID

    Run("explorer shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966} -Microsoft.DefaultPrograms\pageFileAssoc", "", @SW_HIDE)

  • Hallo,

    Das habe ich genau so auch schon festgestellt....und den Sinn dahinter überhaupt nicht verstanden.

    Ich vermute das Microsoft so versucht möglichst viele Apps unter das Volk zu bringen. Viele dieser Apps bieten ja "In App Käufe" an und daran wird Microsoft wohl auch mitverdienen und zudem kommt fast bei jeder App zuerst mal "Bitte legen Sie zuerst ein Microsoft-Konto an" so kann man ja ganz einfach an die Benutzerdaten kommen und die Daten kann man ja auch zu Geld machen.

    Die andere Möglichkeit wäre, dass Microsoft selber den Durchblick mit den Dateitypen usw. verloren hat. und daher nur noch irgendwelchen Mist produziert der eigentlich keinen Sinn mehr ergibt .

    Vielleicht ist es sogar besser, diesem Kram den Rücken zu kehren und direkt ins kalte Wasser zu springen und auf Apple umzusatteln.

    Ich kenne Apple zu wenig, aber eins weiß ich, das es kein AutoIt für Apple gibt (und auch andere Programme wird man wohl vermissen), also muss man nach einem Umstieg wohl auch auf einiges verzichten.

    Und zudem, die von Apple kochen ja auch nur mit Wasser und ich weiß auch nicht, was die noch so alles vorhaben, nachher ist man vielleicht der richtig veräppelte, weil die Microsoft kopieren und dann genauso einen Mist wie die von Microsoft machen. Die von Apple wissen zudem auch wie man möglichst einfach Geld verdienen kann.

    Probier es mal mit der CLSID

    Run("explorer shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966} -Microsoft.DefaultPrograms\pageFileAssoc", "", @SW_HIDE)

    Damit geht es auch nicht, man kommt auch so nicht auf die gewünschte Seite.

    Bei der Version 1709 hat dies zwar funktioniert, aber bei 1803 geht es nicht mehr.

    MfG.

    BigRox

    • Offizieller Beitrag

    Hallo,

    es gibt noch das Komnadozeilentool assoc vielleicht hilft dir ja das weiter.

  • Hallo,

    ich habe es geschafft.

    Opera Mail ist jetzt auch in der Liste der Standard-Apps verfügbar und somit auch mit dem mailto-Protokol verknüpfbar.

    Endlich klappt das mit "Senden an" usw. auch mit Opera-Mail.

    Aber um das zu erreichen, ist ja wirklich in eine wahnsinnige Aktion notwendig.

    Als Anhang mal die dafür notwendige Registry-Datei:

    (Aber als TXT-Datei, weil REG mag dieses Forum nicht).

    Opera Mail Ein.txt

    Vielleicht kann ja einer die Datei brauchen.

    Nach etwas anpasserei, müsste das eigentlich auch mit anderen Programmen gehen.

    MfG:

    BigRox

  • Hi,

    BigRox, Super! Vielen Dank dafür!

    Wirklich unfassbar, welche Verrenkungen man machen muss....

    Und zudem, die von Apple kochen ja auch nur mit Wasser

    yepp, aber eins ist sicher, für den "Standard"-Mailclient musst du dir nicht ein Bein ausreißen8o

    Wenn ich hingegen sehe, was heutzutage webbasiert möglich ist, dann stellt sich sowieso die Frage nach "nativen" Anwendungen.

    In der aktuellen c´t sind übrigens Crossplatform-Frameworks für Android und iOS vorgestellt, sowie die Technik dahinter erklärt. Hört sich gut an! Der Browser auf dem (egal welchem) Gerät stellt die Funktionen "nativ" zur Verfügung und wird nur noch mit dem entsprechenden Code "gefüttert" und dieser wird dann per JIT-Compiler abgewickelt.

    Aber das habe ich vor ca. 20 Jahren auch schon von Java gehört, und das für eine hervorragende Idee gehalten. Leider hat es SUN verpasst, aus Schei** Gold zu machen....

    Programmierer halt. Gucken nur bis zum nächsten Enter. Wenn´s bis dahin läuft, ist alles klasse, wenn nicht, wird halt postuliert, dass es keinen "fehlerfreien Code" geben kann (die anderen bzw. die BS-Bauer haben dann schuld...). Gemurkst ist und bleibt halt gemurkst. Sehr schade!

    EINE Sprache, mit der man Programme erstellen kann, die auf ALLEN Platformen/Prozessoren laufen. Achso, ja, da war doch was...C (ohne plusplus). Damit geht das...schon mal ne GUI damit gebaut?!