In meiner Windows 7-Umgebung sind mehrere Prozesse geplant, hauptsächlich für Sicherungen, die im Hintergrund ausgeführt werden sollen.
Anstatt jedoch nur im Hintergrund zu arbeiten, öffnet der Taskplaner ein schwarzes (konsolenartiges) "taskeng.exe" -Fenster. Das Fenster geht vor allen anderen Fenstern. Zum Glück stiehlt es nicht meinen Tastaturfokus, aber es blockiert die Sicht auf alles.
Gibt es eine Möglichkeit, dieses Fenster zu umgehen - oder zumindest im Hintergrund anzuzeigen, ohne meinen VISUAL-Fokus zu stehlen?
Beispiel bearbeitet in nachdem Kopfgeld angewendet wurde:
Hier ist mein letzter Versuch, das WScript-Zeug zu verwenden (in einer Datei mit dem Namen RunSignatured.bat):
Set Shell = CreateObject("WScript.Shell")
Shell.Run C:\Users\danh\Bin\signatured.bat, 0, False
Die Datei signatured.bat enthält:
cd C:\Users\danh\bin
"C:\Program Files\Java\jre7\bin\java.exe" Signature
Antworten:
Genauer gesagt auf Daniel R Hicks Kopfgeld / Beispiel, aber ich denke, es kann immer noch auf das ursprüngliche Problem angewendet werden:
Wenn es sich um eine Stapeldatei handelt, die über den Taskplaner gestartet wird, müssen Sie wahrscheinlich auch die Stapeldatei selbst ändern, damit die Befehle unsichtbar ausgeführt werden.
Also ändere:
Um etwas wie:
Oder entfernen Sie die Batch-Datei vollständig und führen Sie einfach alles aus dem (VBS-) Skript aus, das Sie direkt vom Task-Planer aus starten.
Etwas wie:
Die von DanH implementierte Lösung entspricht den Vorschlägen von techie007 und erfüllt die Anforderungen:
Eine Datei mit dem Namen RunSignatured.vbs enthält:
Beachten Sie, dass sich das oben Genannte im Pfad von java.exe befindet, da das Verfahren bei der Angabe eines vollständigen Pfads nicht mit dem Leerzeichen in den Programmdateien funktioniert. Es gibt zweifellos andere Möglichkeiten, um dieses Problem zu umgehen, aber das müssen andere herausfinden.
Fügen Sie dann
RunSignature.vbs
als "Programm / Skript" den Namen in der "Aktion" im Taskplaner hinzu.quelle
start /b
Ansatzes ausprobiert . Nichts schien das Fenster zu eliminieren - ich denke, es wurde erstellt, als Sie anfingen, die Fledermausdatei auszuführen, also ist es zu spät.java
ist der Suchpfad in Ordnung.)Sie können die geplanten Aufgaben als ein anderer Benutzer ausführen, sodass sie überhaupt nicht mit dem interaktiven Desktop Ihres normalen Kontos interagieren. Dies scheint auf den von mir verwalteten Windows2003-Servern zu funktionieren. Stellen Sie nur sicher, dass die Dateiberechtigungen und andere Authentifizierungsdetails so festgelegt sind, dass die Tasks auf das zugreifen können, was sie benötigen, wenn Sie als dieser andere Benutzer nicht angemeldet sind.
Bearbeiten: Anstatt ein Konsolentool direkt auszuführen, können Sie auch ein kleines Skript verwenden, das WScript.Shell.Run mit der Option "Minimieren, keine Fokusänderung" verwendet:
Führen Sie dies dann mit dem Taskplaner aus (die Befehlszeile ist ungefähr so
wscript c:\scripts\test.vbs
), anstatt das Tool direkt aufzurufen. Auf diese Weise sollten Sie auch Batch-Dateien und andere Skripte aufrufen können. Es gibt auch eine Option zum vollständigen Ausblenden (ersetzen Sie die 7 oben durch eine 0). In beiden Fällen steuert das Ausblenden / Minimieren jedoch nur das Anfangsfenster: Wenn sich das Werkzeug mehr selbst öffnet, stehlen sie möglicherweise weiterhin den Fokus wie zuvor.Eine vollständige Liste der Optionen für die Ausführungsmethode finden Sie unter http://msdn.microsoft.com/en-us/library/d5fk67ky%28VS.85%29.aspx .
quelle
Versuchen Sie, Ihre geplante Aufgabe wie folgt auszuführen:
Sie
start /b
sollten die Anwendung starten, ohne ein neues Fenster zu erstellen.Wenn dies nicht funktioniert, können Sie ein eigenständiges AutoIt- Skript erstellen , mit dem das Fenster "taskeng.exe" ausgeblendet wird. AutoIt-Skripte können in eine EXE-Datei kompiliert werden.
Die EXE-Datei ist die erste Zeile in Ihrer mybackup.bat-Datei. Der AutoIt-Code würde folgendermaßen aussehen:
quelle
Probieren Sie 4trayMinimizer aus . Sie können Apps definieren, die standardmäßig ausgeblendet sind.
quelle
Die einfachste Möglichkeit, eine im Taskplaner gestartete Anwendung auszublenden, besteht darin, sie auf "Ausführen, ob der Benutzer angemeldet ist oder nicht" einzustellen. Diese Einstellung finden Sie auf der Registerkarte Allgemein in den Eigenschaften für geplante Tasks.
quelle
Hier ist das SyncToy-Skript, das ich verwende. Beachten Sie die mehreren Anführungszeichen um den Speicherort der Datei:
quelle
Anscheinend haben Sie SQLyog MySQL GUI installiert , das die Ausführung des SQLyog Job Agent geplant hat . Es sieht so aus, als wäre es eine Konsolenanwendung, die nicht versucht, sich zu verstecken.
Sie sollten im Taskplaner nach einer Aufgabe suchen, die sich auf SQLyog bezieht, und deren Eintrag korrigieren. Wenn es sich um einen Befehlsaufruf handelt, versuchen Sie
/b
, ihn zur Parameterliste hinzuzufügen . Wenn es sich nur um einen Aufruf einer ausführbaren Datei handelt, können Sie dies angesichts meiner Antwort korrigieren .Wenn Sie Probleme haben, diesen Eintrag zu finden , verwenden Sie Autoruns, um herauszufinden, wie SQLyog gestartet wird. Sie können auch regedit verwenden, um nach allen Erwähnungen von SQLyog oder nach dem Namen des Installationsverzeichnisses zu suchen.
Sie können SQLyog MySQL GUI natürlich auch deinstallieren, wenn Sie es nicht benötigen.
Wenn Sie SQLyog MySQL GUI nicht installiert haben, ist Ihr Computer möglicherweise infiziert. Sie können den Prozessmonitor verwenden , um zu überprüfen, wann das Popup angezeigt wird, um festzustellen, ob es sich um die Datei taskeng.exe aus system32 oder um eine der identischen Dateien von Taskeng.exe handelt .
quelle
Ich hatte das genaue Problem mit SQLyog, nachdem ich einige Nachforschungen angestellt hatte. Ich habe das Problem behoben, indem ich eine Datei mit dem Namen erstellt
invisible.vbs
und diesen Code eingefügt habe :Dann erstelle einen Taskplaner, um die
invisible.vbs
Datei auszuführen und fertig!quelle