Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Alle 2 Stunden Bild von URL herunterladen und umbenennen?



  • Please log in to reply
2 replies to this topic
DDX3216
  • Members
  • 2 posts
  • Last active: May 05 2015 09:06 AM
  • Joined: 04 May 2015

Hallo,

 

ich probiere seit Tagen mit AutoHotKey ein Skript zu erstellen, aber kriege es nicht hin. Ich habe vom Programmieren keine Ahnung und im logischen, mathematischen Denken bin ich auch nicht so gut. Ich würde mich freuen, wenn jemand bereit wäre, weiterzuhelfen.

 

Ein Bild auf einer URL soll alle 2 Stunden heruntergeladen und gespeichert werden, aber immer unter neuem Namen, weil ja sonst das zuvor gespeicherte Bild überschrieben wird. Damit dieser Dateiname also immer anders ist, soll er das jeweils aktuelle Datum und die Uhrzeit enthalten.

 

Ich habe es mit SetTimer versucht, aber es läuft nicht. Könnte es mit Loop gehen? Und wie ich das mit der variierenden Datum/Uhrzeit umsetzen soll, weiß ich überhaupt nicht.

 

Ich würde auch dafür bezahlen, wenn mir jemand in Auftragsarbeit das Skript schreibt. Wie ich das sehe, ist es recht simpel und nur wenige Zeilen lang. Wenn man weiß, wie´s geht, ist es sicher einfach. Alternativ: Weiß jemand, wo ich AHK-Programmierer finden kann, die Auftragsarbeiten gegen Bezahlung machen?

 

 

Vielen Dank und viele Grüße...



jNizM
  • Members
  • 928 posts
  • Last active: Jan 12 2018 09:23 AM
  • Joined: 01 Aug 2012
✓  Best Answer
#NoEnv
#SingleInstance Force
#Persistent

global URL := "http://autohotkey-dequeue.netdna-ssl.com/static/ahk_logo_ipb.png"    ; <== URL zum Bild

; ===============================================================================================================================

SetTimer, DL_IMAGE, -100                                                                 ; <== Sofortige Ausführung des Downloads
return

DL_IMAGE:
    FileName := "C:\Temp\dl\ahk_logo_" A_YYYY A_MM A_DD A_Hour A_Min A_Sec ".png"        ; <== Pfad + Zeitangabe (Jahr Monat Tag Stunde Minute Sekunde) + Endung (.png)
    DownloadToFile(URL, FileName)                                                        ; <== Funktion zum Downloaden
    SetTimer, DL_IMAGE, 7200000                                                          ; <== Ab jetzt alle 7.200.000 ms (2 Stunden)
return

; ===============================================================================================================================

DownloadToFile(url, filename)
{
    static a := "AutoHotkey/" A_AhkVersion
    if (!(o := FileOpen(filename, "w")) || !DllCall("LoadLibrary", "str", "wininet") || !(h := DllCall("wininet\InternetOpen", "str", a, "uint", 1, "ptr", 0, "ptr", 0, "uint", 0, "ptr")))
        return 0
    c := s := 0
    if (f := DllCall("wininet\InternetOpenUrl", "ptr", h, "str", url, "ptr", 0, "uint", 0, "uint", 0x80003000, "ptr", 0, "ptr"))
    {
        while (DllCall("wininet\InternetQueryDataAvailable", "ptr", f, "uint*", s, "uint", 0, "ptr", 0) && s>0)
        {
            VarSetCapacity(b, s, 0)
            DllCall("wininet\InternetReadFile", "ptr", f, "ptr", &b, "uint", s, "uint*", r)
            c += r
            o.rawWrite(b, r)
        }
        DllCall("wininet\InternetCloseHandle", "ptr", f)
    }
    DllCall("wininet\InternetCloseHandle", "ptr", h)
    o.close()
    return c
}

[AHK] 1.1.27.04 x64 Unicode | [WIN] 10 Pro (Version 1709)
My GitHub Profile | Donations are appreciated if I could help you

DDX3216
  • Members
  • 2 posts
  • Last active: May 05 2015 09:06 AM
  • Joined: 04 May 2015

Auwei, das sind ja doch nun mehr als 5 bis 10 Zeilen. Vielen herzlichen Dank, jNizM, das ist ja klasse. Das Skript läuft seit einem halben Tag und es funktioniert.  :)  Ich bin gerade der glücklichste Mensch auf der Welt  :D   Vielen Dank für die Mühe.   :)