簡體   English   中英

如何找到啟動我的進程的計划任務的instanceid / correlation ID

[英]how can i find the instanceid/correlation ID of the scheduled Task that started my process

如果我有一個運行我的EXE的Windows計划任務。 有沒有辦法從我的EXE內部找到觸發我的計划任務實例?

對此的簡單回答是:不。

您可以做的最好的事情是以編程方式訪問任務調度程序庫,並查看您的進程是否處於“運行”模式,獲取進程的PID(調度程序實際上在其歷史記錄中將其寫出)並將其與您的進行比較。

更容易做的事情是訪問系統事件日志並查看是否有任何提及執行您的exe文件(盡管如果exe實際執行它們可能不是這樣的日志)。

您可以與您的流程關聯的唯一事情是調用者(可能是NETWORK SERVICE或某些預定義帳戶),它們不會提供有關計划的任何信息。

我嘗試了一段時間來解決同樣的問題,但我不認為使用當前的API是可能的。 如果您有對正在運行的任務的引用,則可以獲取啟動它的任務引擎的PID。 從那里,您可以轉到任務事件日志並查找具有相同引擎PID的ID 200(Action Started)的最新事件,但是因為您可以在單個任務引擎下運行多個任務進程,所以您不能絕對確定地進一步發展(例如,您的進程的第二個實例可能在相同的引擎PID下運行 - 您將無法分辨哪個相關ID屬於您的目標進程。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM