Ich suche einen Befehl für AutoIt

  • Hallo,
    ich habe da mal wieder eine kleine Frage.
    In Windows 10 gibt es ja das Fenster "Standard-Apps nach Dateiendung auswählen" wo man das Standardprogramm für eine bestimmte Dateiendung festlegen kann.

    Kann man dieses Fenster auch mit einem AutoIt- Befehl aufrufen, also direkt so wie bei anderen Windows-Versionen, per Rundll o.ä. ?

    Besonders gut währe es, wenn man so auch direkt zu dem richtigen Dateityp springen könnte, sodass z.B. ".pdf" direkt angezeigt wird und mann nicht zuerst durch die ganze Liste mit den Dateitypen scrollen muss.

    Bei einem Setup-Programm habe ich das mal gesehen "Vivaldi" (der neue Browser) war das, also muss es schon irgendwie gehen, die können ja auch nicht hexen :D.

    (den Eintrag per Script auch ändern, dass geht wohl aus Sicherheitsgründen nicht, dass muss man also in jedem Fall manuell machen und bestätigen).

    MfG:
    BigRox

  • Meinst Du hierhin ?

    control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc

    oder hierher:

    control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram

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

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (31. März 2016 um 13:40)

  • Hallo Micha_he,
    Danke für die Hilfe :thumbup: !

    Der erste Befehl,war der richtige.
    Also, der hir: control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc

    Nun habe ich aber wieder eine Frage dazu:
    Da erscheint ja eine Liste mit den Dateiendungen.
    Kann man diese Liste nach einer bestimmten Dateiendung durchsuchen und automatisch diese Dateiendung markieren ?

    Ich vermute, dass da zuerst die Dateiendungen aus der Registry ausgelesen werden und daraus dann diese Liste erstellt wird.
    Diese Liste müsste ja irgendwo in den Tiefen von Windows stehen und wenn man diese Liste in AutoIt einlesen könnte, so müsste eigentlich auch das markieren einer bestimmten Dateiendung möglich sein...


    MfG:
    BigRox

  • Hallo BigRox,

    hier mal ein quick & dirty Script um eine bestimmten Dateiendung in diesem Fenster zu markieren:

    Spoiler anzeigen
    AutoIt
    Local $sEndung = 'pdf'
    Local $sWinTitile = "Dateizuordnungen festlegen"
    Run(@ComSpec & " /c " & 'control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc', "", @SW_HIDE)
    WinWait($sWinTitile)
    Sleep(2000)
    ControlSend($sWinTitile, '', "[CLASS:SysListView32; INSTANCE:1]",'.' & $sEndung)

    Für eine Suche in der Registry nach registrierten Dateiendungen empfehle ich mal diesen Artikel (auf die schnelle gegoogelt ...)
    https://www.windowspro.de/andreas-krosch…unter-windows-7

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hallo Schnuffel,
    Danke für die Hilfe :thumbup: .

    Ich habe dein Script aber noch etwas geändert, da das WinWait() und dem folgenden Sleep() nicht immer sicher funktioniert.
    Mann muss das Script pausieren lassen, bis das SysListView32 erscheint, da diese Controll erst erscheint, wenn der Ladevorgang auch abgeschlossen ist.

    Hier mein Script:

    Spoiler anzeigen

    So geht es immer so wie ich es will.

    MfG:
    BigRox