首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找到启动我的进程的计划任务的instanceid/correlation

如何找到启动我的进程的计划任务的instanceid/correlation
EN

Stack Overflow用户
提问于 2012-04-19 02:02:46
回答 2查看 5.4K关注 0票数 5

如果我有一个windows计划任务运行我的EXE。有没有办法从我的EXE中找到触发我的计划任务实例?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-19 02:30:36

简单的答案是:不。

你可以做的最好的事情就是以编程的方式访问任务调度器库,查看你所在的进程是否处于“运行”模式,获取进程的PID (调度器实际上将其写入其历史记录),并将其与您的进程进行比较。

更容易做的事情是访问系统事件日志,并查看是否有任何提及执行您的exe文件(尽管它们可能不是这样的日志,如果exe实际是执行的)。

您唯一可以与您的进程关联的是调用者(可能是网络服务或某个预定义的帐户),它不会提供有关正在调度的调用者的任何信息。

票数 3
EN

Stack Overflow用户

发布于 2012-06-16 05:02:43

我尝试了一段时间来解决同样的问题,但是我认为使用当前的API是不可能的。如果您有对正在运行的任务的引用,则可以获取启动它的任务引擎的PID。从那里,您可以转到任务事件日志并查找ID为200 (操作已启动)的具有相同引擎PID的最新事件,但是,由于您可以在单个任务引擎下运行多个任务进程,因此您不能绝对确定地进入下一步(例如,您的进程的第二个实例可能在相同的引擎PID下运行--您将无法分辨哪个关联ID属于您的目标进程)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10215238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档