Beispiel: FireFox Download Manager steuern.

  • Beispiel zur Steuerung des Download Managers:

    There's only XUL :D deshalb, den FF-Download-Manager einfach mal als Seite laden:

    [autoit]

    _FFOpenURL("chrome://mozapps/content/downloads/downloads.xul")

    [/autoit]

    und die Eigenschaften der Downloads abfragen:

    Spoiler anzeigen

    Steuern lassen die sich natürlich auch noch:
    (siehe auch: https://developer.mozilla.org/en/NsIDownloadManager )
    z.B. der ersten Download "resumen"

    [autoit]

    _FFSetGet('Components.classes["@mozilla.org/download-manager;1"].getService(Components.interfaces.nsIDownloadManager).resumeDownload(0);')

    [/autoit]


    weitere Aktionen siehe Link.

    Das ganze mal als etwas anschaulicheres Beispiel.
    Bitte zuerst eine (größere) Datei herunterladen und diese pausieren, dann das Beispiel starten:

    Spoiler anzeigen
    [autoit]

    #Region Includes
    #include <ff.au3>
    #EndRegion Includes

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If _FFConnect() Then
    _FFOpenURL("chrome://mozapps/content/downloads/downloads.xul")

    [/autoit] [autoit][/autoit] [autoit]

    _FFSetGet('FF_AutoItScript.obj = content.wrappedJSObject.document.getElementById("downloadView");')

    [/autoit] [autoit][/autoit] [autoit]

    If _FFSetGet('FF_AutoItScript.obj.itemCount;') > 0 Then

    [/autoit] [autoit][/autoit] [autoit]

    ; Download ID des ersten Downloads
    $iDownloadID = _FFSetGet('FF_AutoItScript.obj.getItemAtIndex(0).getAttribute("dlid");')
    MsgBox(64, "Download-ID, first download", $iDownloadID)

    [/autoit] [autoit][/autoit] [autoit]

    ; maxBytes des ersten Downloads
    $iDownloadBytes = _FFSetGet('FF_AutoItScript.obj.getItemAtIndex(0).getAttribute("maxBytes");')
    MsgBox(64, "maxBytes / size, first download", $iDownloadBytes)

    [/autoit] [autoit][/autoit] [autoit]

    ; ersten Download weiterlaufen lassen
    ; https://developer.mozilla.org/en/NsIDownloadManager
    _FFSetGet('Components.classes["@mozilla.org/download-manager;1"].getService(Components.interfaces.nsIDownloadManager).resumeDownload(' & $iDownloadID & ');')
    EndIf
    EndIf

    [/autoit]

    Viel Spaß damit!
    Grüße
    Stilgar

    [EDIT]
    Aktualisiert.

    2 Mal editiert, zuletzt von Stilgar (26. März 2009 um 14:12)