我希望每次启动另一个程序时都启动一个程序。
举个例子:每次启动Google Chrome时,我都希望iTunes同时启动。
另外,我希望它在我单击浏览器中的链接以启动程序时启动(例如“在iTune网站上的iTunes中查看”)。
我不想与.bat文件有关。
我在Windows 7上运行
我希望每次启动另一个程序时都启动一个程序。
举个例子:每次启动Google Chrome时,我都希望iTunes同时启动。
另外,我希望它在我单击浏览器中的链接以启动程序时启动(例如“在iTune网站上的iTunes中查看”)。
我不想与.bat文件有关。
我在Windows 7上运行
Answers:
您可能会设置特定的应用程序对,以使用注册表运行,并更改与mimetypes进行的交易。但是,另一种更通用,更复杂的方法是使用任务计划程序。任务计划程序可以基于各种类型的触发器(包括事件日志条目)启动应用程序。
因此,我们所需要做的就是确保在应用程序启动时创建一个事件,然后创建一个计划任务以在记录该事件时启动。
secpol.msc运行框Success现在,如果您启动任何应用程序,那么如果您查看事件查看器/安全日志,则每次启动应用程序时都会看到一个“ 流程创建”事件4688。
现在切换到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,并浏览到要与触发器应用程序一起启动的应用程序。
Computer Configuration/Windows Settings/Security Settings/Audit Policy
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (band(Keywords,9007199254740992)) and (EventID=4689)]] and *[EventData[(Data='PATH TO THE DESIRED EXE')]] </Select> </Query> </QueryList>
我确信上述Paul的答案可能对大多数人都有效,但是由于某种原因,我无法使其与我的程序配合使用。
为Notepad.exe指定路径时,任务已成功创建;当我将路径更改为要使用的程序之一An event filter for a trigger is not valid时,在任务创建结束时按“确定”时,总是会出错。考虑事件过滤器看起来与Paul的事件过滤器(我自己按照他的过程生成)完全一样,只是我的程序位于Program Files(x86)文件夹中。
我最终通过安装外部软件Bill's Process Manager解决了我的问题。荣誉对这个StackExchange答案吧。