拦截windows打开的文件

时间:2023-04-14
本文介绍了拦截windows打开的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试制作一个可以拦截文件打开过程的小程序.

I'm trying to make a small program that could intercept the open process of a file.

目的是当用户双击给定文件夹中的文件时,windows会通知软件,然后它处理该请求并将文件数据返回给windows.

The purpose is when an user double-click on a file in a given folder, windows would inform to the software, then it process that petition and return windows the data of the file.

也许会有另一种解决方案,例如监视打开的消息并强制 Windows 在程序准备文件内容时等待.

Maybe there would be another solution like monitoring Open messages and force Windows to wait while the program prepare the contents of the file.

这个概念的一个应用,可以是以对用户透明的方式管理文件的解密.在这种情况下,加密文件将在磁盘上,当用户打开它时(双击它或使用某些应用程序,如记事本),后台进程将拦截该打开事件,解密文件并提供内容将该文件发送给请求的应用程序.

One application of this concept, could be to manage desencryption of a file in a transparent way to the user. In this context, the encrypted file would be on the disk and when the user open it ( with double-click on it or with some application such as notepad ), the background process would intercept that open event, desencrypt the file and give the contents of that file to the asking application.

这是一个有点奇怪的概念,它可能类似于中间人"网络概念,但使用的是文件而不是网络数据包.

It's a little bit strange concept, it could be like "Man In The Middle" network concept, but with files instead of network packets.

感谢阅读.

推荐答案

要涵盖从任何程序打开的所有情况,最好的方法是通过 文件系统过滤器驱动程序.不过,这对于您的需求来说可能太复杂了.

The best way to do it to cover all cases of opening from any program would be via a file system filter driver. This may be too complex for your needs though.

这篇关于拦截windows打开的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:std::unique_ptr、删除器和 Win32 API 下一篇:CreateProcess 不传递命令行参数

相关文章