Batch-Datei immer im Hintergrund ausführen?

Scheibes

Lieutenant
Registriert
Juni 2010
Beiträge
761
Hallo zusammen,

ich habe mir für meinen HTPC eine Batch-Datei gebastelt die täglich um die selbe Zeit ausgeführt wird. Zweck dieser Bat-Datei ist eigentlich dass die EPG Daten für das Fernsehprogramm täglich abgerufen und aktualisiert werden.

Als Mediasoftware nutze ich Mediaportal 2, welches natürlich im Vollbild ausgeführt wird.

Nun legt sich aber das CMD Fenster wenn die Bat-Datei ausgeführt wird immer über das Vollbild von MP2, das ist sehr störend, noch dazu da der Vorgang doch 30-40min dauert. Nun muss ich immer extra die Maus an machen und auf das Vollbild klicken.

Kann man hier etwas basteln welches das Fenster immer in den Hintergrund schiebt (zumindest hinter das Vollbild)?


Gruß
Scheibes
 
Führ den geplanten Task (ist es doch oder?) als ein anderer User aus, dann bekommst du davon nichts mit.
 
Du könntest versuchen die Batchdatei mit einem VBA Skript zu starten:

Public Sub ShellExecute(ByVal strCmdLine As String)
Const conSynchronize = &H100000
Dim lngProcessID As Long
Dim lnghWnd As Long
Dim lngRetVal As Long
lngProcessID = Shell(strCmdLine, vbHide)
If lngProcessID <> 0 Then
lnghWnd = modPublDecl.OpenProcess(conSynchronize, _
0&, _
lngProcessID)
Do
lngRetVal = modPublDecl.WaitForSingleObject(lnghWnd, _
0)
Loop Until lngRetVal <> 258
lngRetVal = modPublDecl.CloseHandle(lnghWnd)
End If
End Sub


Viel Erfolg
 
Entilzha schrieb:

Kann man das dann auch automatisiert starten lassen?
Verstehe die Vorgehensweise noch nicht so ganz.

ella_one schrieb:
Du könntest versuchen die Batchdatei mit einem VBA Skript zu starten:

Public Sub ShellExecute(ByVal strCmdLine As String)
Const conSynchronize = &H100000
Dim lngProcessID As Long
Dim lnghWnd As Long
Dim lngRetVal As Long
lngProcessID = Shell(strCmdLine, vbHide)
If lngProcessID <> 0 Then
lnghWnd = modPublDecl.OpenProcess(conSynchronize, _
0&, _
lngProcessID)
Do
lngRetVal = modPublDecl.WaitForSingleObject(lnghWnd, _
0)
Loop Until lngRetVal <> 258
lngRetVal = modPublDecl.CloseHandle(lnghWnd)
End If
End Sub


Viel Erfolg

Das ist für mich eigentlich nur chinesisch :)
Bitte um Aufklärung.
Ergänzung ()

Nach ein wenig googlen denke ich ist die VBA Variante die bessere Lösung.
Nur leider ist das komplett Neuland für mich.

Kann mir jemand Schritt für Schritt erklären wie ich das hinbekomme?

Meine WebGrab.bat liegt im folgendem Verzeichnis.


C:\WebEPG\WebGrab.bat


Wie kriege ich das nun hin dass diese Batch-Datei täglich um 07:15 Uhr im Hintergrund ausgeführt wird? (via VBA Script)

Danke schonmal für die Hilfe!

Gruß
Scheibes
 
Ernsthaft, benutz doch einfach die Windows Aufgabenplanung, erstelle einen geplanten Task um 07.15 Uhr, welcher die BAT-Datei ausführt, und lass diesen von einem eigens dafür erstellten Windows-User ausführen. Einfacher geht's doch echt nicht mehr...
 
Aber dann muss ich beim starten immer den Benutzer auswählen und das möchte ich vermeiden, da der PC eigentlich nur per Fernbedienung gesteuert wird.

Oder kann ich das auch noch umgehen?
 
Werd ich dann mal probieren.
 
Für dich wäre vielleicht der Batch to Exe der einfachere Weg, als Online Plattform, oder Freeware Programm.
 
Entilzha schrieb:
Für dich wäre vielleicht der Batch to Exe der einfachere Weg, als Online Plattform, oder Freeware Programm.

Wird die exe dann nicht auch im Vordergrund gestartet?
Ergänzung ()

Das mit einem weiteren Nutzer funktioniert einwandfrei!

Danke!
 
MPC > Ansicht > Fenster im Vordergrund > Bei Videowiedergabe
 
Zurück
Oben