Der Martin: VBS: ScrollLock-LED soll blinken während Download läuft

Beitrag lesen

Hi,

Während Download mittels "Wget.exe" im "Hide-Modus" - run(Application, 0, true) - soll die "ScrollLock-LED" zur optischen Kontrolle blinken.

dazu müsstest du wget als Kind-Prozess asynchron ausführen können, also das Programm starten, so dass dein VB-Script "nebenher" weiterläuft. Kann VBS das?

Ich dachte ich könnte die "Länge des ReturnCode" der Anwendung dazu benutzen -> Solange kein Rückgabewert "Len(ReturnCode)=0" blinken, bei irgend einem Rückgabewert "Len(ReturnCode)>0" blinken-stop - aber da ist offensichtlich ein Denkfehler drin.

Ja. Der Denkfehler besteht vermutlich darin, dass du den zeitlichen Ablauf nicht klar siehst:

FlashLight
  ReturnCode = wss.run(srun, wndstate, true)

Diese beiden Anweisungen laufen streng sequentiell (nacheinander). Erst wird deine Funktion FlashLight aufgerufen, und erst wenn die beendet ist, kommt wss.run() mit dem externen Programm dran. Allerdings -wie du schon richtig andeutest- läuft FlashLight dabei endlos, denn die Funktion wartet darauf, dass der ReturnCode sich ändert; das kann er aber erst, wenn das Script weiterläuft. Eine Variante des Henne-Ei-Problems (Ohne Henne kein Ei, ohne Ei aber auch keine Henne).
Du kannst die beiden Zeilen tauschen. Dann läuft dein Script zwar durch; die LED blinkt dann aber nicht WÄHREND des Downloads, sondern nur mal kurz, wenn er beendet ist.

Wie gesagt: Du brauchst eine Möglichkeit, ein externes Programm (wget.exe) zu starten, und dein VBS weiterlaufen zu lassen, WÄHREND das externe Programm läuft. Ich weiß nicht, ob VBS das kann.

So long,
 Martin

--
Die letzten Worte des stotternden Beifahrers:
Frei... frei... frei... freilich kommt da was!!