启用“应用程序启动”日志记录

启用“应用程序启动”日志记录

我希望每次启动一个程序时启动另一个程序。

举个例子:每次我启动 Google Chrome 时,我希望 iTunes 也同时启动。

另外,我希望它在我单击浏览器中启动程序的链接时启动(例如“在 iTunes 网站上查看”)。

我不想与.bat 文件有任何关系。

我在 Windows 7 上运行

答案1

您可能可以使用注册表设置要运行的特定应用对,并更改处理 mimetypes 的内容。但是,另一种更通用且更复杂的方法是使用任务计划程序。任务计划程序可以根据各种类型的触发器(包括事件日志条目)启动应用。

因此,我们需要确保每次应用程序启动时都会创建一个事件,然后创建一个计划任务,每次记录事件时启动该计划任务。

启用“应用程序启动”日志记录

  1. 开始并进入secpol.msc运行框
  2. 导航地方政策/审计政策
  3. 双击审计过程追踪并启用Success

现在,如果你启动任何应用程序,如果你查看事件查看器/安全日志,你会看到流程创建4688每次启动应用程序时都会发生事件。

根据触发器创建计划任务

  1. 打开任务计划程序并创建新任务
  2. 一般的Tab,为任务命名
  3. 触发器选项卡,创建新触发器,然后选择在一次活动中作为触发器
  4. 选择风俗,然后点击编辑事件过滤器
  5. 更改筛选设置如下:

任务过滤器

现在切换到XML选项卡,然后启用手动编辑查询

您将看到以下内容

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] 
    </Select>
  </Query>
</QueryList>

现在您只需添加要触发触发器的应用程序。例如,此应用程序notepad.exe用作触发器:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] 
   and 
     *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Windows\System32\notepad.exe')]]
    </Select>
  </Query>
</QueryList>

单击Ok此按钮,然后Ok关闭触发对话框。

现在选择行动选项卡,并创建一个新操作,即Start a Program,并浏览到您想要与触发应用程序一起启动的应用程序。

答案2

我确定保罗的回答上述方法可能对大多数人有用,但是由于某种原因,我无法让它与我的程序一起工作。

当指定 Notepad.exe 的路径时,任务创建成功;当我将路径更改为我打算使用的程序的路径时,An event filter for a trigger is not valid在任务创建结束时按 OK 时总是出错。请考虑事件过滤器与 Paul 的完全一样(我按照他的程序自己生成的),除了我的程序位于 Program Files (x86) 文件夹中。

我最终通过安装外部软件解决了我的问题,Bill 的流程管理器. 感谢此 StackExchange 答案为了它。

相关内容