Windows操作系统级文件打开事件触发器

时间:2012-09-18 20:53:01

标签: windows events windows-server-2003 file-management

同事们,我需要在某些基本的OS级别事件上运行脚本/程序。特别是在打开Windows中的文件时。 open可以是只读的或编辑的,可以通过多种方式启动,可以从Windows资源管理器(打开或),从本机文件选择器中查看或编辑应用程序中选择,或者拖放进入编辑或查看应用程序。

此外,我需要触发器“保持”事件完成操作,直到程序的运行时完成。事件处理程序可以返回通过状态或失败状态。如果已返回失败状态,则事件必须禁止最初请求的操作。

最后,我需要向有问题的文件添加一个属性或属性,该属性或属性将包含将由上述事件触发器处理程序程序使用的元数据,以确定最终确定是否通过的失败条件允许用户打开文件。

请注意,这不是Windows事件日志情况,而是操作系统级文件打开事件。

非常感谢你的帮助。

修改

我曾希望有人知道是操作系统级触发器,类似于如何在Windows中启用事件日志编写器触发器(即:发送电子邮件,在事件发生时运行脚本事件记录器)。

我工作的应用程序环境(PLM系统)允许事件处理。因此,当用户发起操作时,例如从对象中检出文件时,有3个可编程的处理程序或触发器。 “检查”或“预执行”触发器是在用户开始启动事件时但在系统允许处理之前触发的过程。因此,可以基于某些条件(例如用户上下文)以编程方式阻止或以其他方式更改系统的响应。

我还通过组策略启用了启动/关闭脚本触发,因此我可以延迟服务器关闭,直到数据库正常关闭。这是在Windows server 2003中完成的。因此,使用该钩子,我可以管理关机或启动。

因此,我希望有人可能知道操作系统触发器会对文件打开操作执行相同的操作。这将部署在所有工作站和桌面上。

同样,如果有任何想法,我们将不胜感激。

再次感谢。

的问候, Ĵ

1 个答案:

答案 0 :(得分:0)

我想到了一些策略。一种是使用您自己的DLL运行应用程序来拦截像WriteFile这样的API调用。另一种方法是在调试器界面下运行应用程序。