2012-04-18 19 views

Antwort

3

Einfache Antwort dafür wäre: nein.

Am besten können Sie entweder auf die Taskplaner-Bibliothek zugreifen und sehen, ob der Prozess sich im "Running" -Modus befindet, die PID des Prozesses abrufen (Scheduler schreibt sie tatsächlich in die Historie) und vergleicht sie zu dir.

Einfacher zu tun wäre Zugriff auf Systemereignisprotokolle und sehen, ob es irgendwelche Erwähnung der Ausführung Ihrer Exe-Datei (obwohl sie möglicherweise nicht so ein Protokoll sein, wenn die Exe tatsächlich ausgeführt wurde).

Die einzige Sache, die Sie Ihrem Prozess zuordnen können, ist der Anrufer (der NETWORK SERVICE oder ein vordefiniertes Konto sein kann), die keine Informationen darüber geben, dass es geplant ist.

0

Ich habe eine Weile versucht, das gleiche Problem zu lösen, aber ich denke nicht, dass es möglich ist, die aktuelle API zu verwenden. Wenn Sie einen Verweis auf die laufende Aufgabe haben, können Sie die PID der Task-Engine abrufen, die sie gestartet hat. Von dort können Sie gehen, um die Aufgabe Ereignisprotokoll zu gehen und die neuesten Ereignisse mit ID 200 (Aktion gestartet) mit der gleichen Engine-PID suchen, aber da Sie mehrere Task-Prozesse unter einer einzigen Task-Engine ausführen können, können Sie Gehen Sie nicht mit absoluter Sicherheit weiter (z. B. könnte eine zweite Instanz Ihres Prozesses unter der gleichen Engine-PID laufen - Sie können nicht erkennen, welche Korrelations-ID zu Ihrem Zielprozess gehört.)

Verwandte Themen