2014-02-15 36 views
0

首先,我知道这不会是一个简单的任务,C++监视操作系统事件和打断他们

我怎样才能观看特定操作系统(微软视窗)的事件,如(文件删除,文件更改,文件创建,注册表删除,注册表更改等)并要求用户进行批准。

例如,如果某个进程试图删除一个文件,我的应用程序应暂停该进程并显示一个对话框,例如“尝试删除这个文件的这个过程是否允许?”。如果用户允许该文件应该被删除,并且该过程应该继续它的工作。

我知道这不是不可能实现,因为我看到一些防火墙+安全软件这样做。

我不知道从哪里开始,找不到任何有关此文档或教程。

至少你能给我一个出发点吗?

谢谢。

编辑:我想monitör整个操作系统,即使系统进程试图改变注册表我的应用程序应该要求用户的许可。

回答

0

的Windows允许用户模式挂钩http://msdn.microsoft.com/en-us/library/windows/desktop/ms632589(v=vs.85).aspx

如果您打算做更多的低层次的东西,你应该学习WDDM(Windows驱动程序模型),尤其是筛选器驱动程序http://msdn.microsoft.com/en-us/library/windows/hardware/ff545890(v=vs.85).aspx

+1

还有[文件系统筛选器驱动程序](http://msdn.microsoft.com/en-us/library/windows/hardware/ff548202(v = vs.85).aspx)。另外[OSR DMK](http://www.osr.com/dmk.html)可能是一个可立即使用的交钥匙解决方案。 –