拦截windows打开的文件

2024-01-08

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

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

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

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

这是一个有点奇怪的概念,它可能像“中间人”网络概念,但使用文件而不是网络数据包。

谢谢阅读。


覆盖从任何程序打开的所有情况的最佳方法是通过文件系统过滤驱动程序 https://web.archive.org/web/20100127105044/https://www.microsoft.com/whdc/driver/filterdrv/default.mspx。但这对于您的需求来说可能太复杂了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拦截windows打开的文件 的相关文章

随机推荐

  • Mac OS X 上的命令行 IntelliJ

    我正在尝试在 Mac OS X 的命令行上启动 IntelliJ 以使用它的 diff 工具 理论上idea sh diff file1 file2应该管用 在实践中 文件存在一些问题 我认为我已经解决了这些问题 删除了 readlink
  • Android Studio Kotlin 正则表达式与预期不同

    我遇到了特定正则表达式的问题 该正则表达式在 Android Studio 中运行时返回的值与预期不同 设想 代码很简单 val regex lt N E G d 2 d toRegex print regex findAll N20323
  • 解析并生成 JSON

    数学的内置格式列表 http reference wolfram com mathematica guide ImportingAndExporting html相当广泛 然而 JSON 并不在该列表中 Mathematica 中是否有用于
  • 如何使用 Google 地图 API 设计其样式

    我正在尝试更改 Google 地图的样式 但我不确定如何更改 谷歌给了我这些对象属性 stylers hue ff0022 saturation 16 lightness 5 但我不确定如何使用以下代码 生成的谷歌地图 使其工作 div s
  • 获取 HDFS 中 parquet 文件的大小,以便在 Scala 中使用 Spark 重新分区

    我在 HDFS 上有许多 parquet 文件目录 每个目录包含数千个小 大多数 使用以下代码 我可以将本地镶木地板文件重新分区为更少数量的部分 val pqFile sqlContext read parquet file home ha
  • R - 计算列表组件的数量[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道在 R 中 您可以通过带有双括号的列表进行索引 即mylist 1 如何计算该列表中的元素数量 不是每个列表项中的元素数量 而是最大
  • 将 C++ 中的所有重音字母更改为普通字母

    问题 如何将 C 或 C 中的所有重音字母更改为普通字母 我的意思是这样的e a c会成为eeeeaaaacc 我已经尝试过的 我尝试过手动解析字符串并一一替换它们 但我认为必须有一种我不知道的更好 更简单的方法 这将保证我不会忘记任何重音
  • Chrome/WebKit 在使用背景、边框半径和顶部/底部边框时创建实心条

    Google Chrome 在边框半径 背景颜色以及顶部和底部边框方面存在问题 这是要重现的证据和代码 http jsfiddle net 6ADtd 4 http jsfiddle net 6ADtd 4 div div div back
  • 如何从登录屏幕进入下一个屏幕? JPanel、JFrame?

    我有一个关于构建 GUI 应用程序的问题 我觉得这个问题的标题不太准确 但我想不出更好的标题 构建应用程序的正确方法是什么 我是否应该只创建一个 JFrame 然后根据需要更改该 JFrame 中的面板 或者当我从一件事转移到另一件事时 我
  • 使用 ndk clang 3.4/3.5 编译 __thread 没有运气

    我试图在这个小程序中使用 thread 但没有运气 知道 ndk 10c clang 3 4 3 5 是否支持此 TLS 相同的程序可以使用 ndk gcc 4 8 4 9 和本机 clang gcc 编译器正常编译 这是程序和编译行 th
  • 将 Firebase 导出到 BigQuery 的数据扁平化为 1 行 = 1 个事件的表(嵌套数据中的嵌套数据)

    我想我可以通过提出一个更简单的问题并引用一个更简单的数据示例来获得我需要的东西here https stackoverflow com questions 38839559 flatten bigquery nested field con
  • C++14 中标准布局类的定义

    A 标准布局class 在 C 14 中的 class 7 中定义 如下 重点是我的 A 标准布局class 是一个类 7 1 没有非标准布局类型的非静态数据成员 类 或此类类型的数组 或引用 7 2 没有虚函数 10 3 也没有虚基类 1
  • 如何通过google帐户快速检查用户是否已经在firebase中注册

    我想为用户执行一个操作首次登录 注册 使用谷歌帐户和另一个操作 如果用户之前已经登录过 如果某个用户已经并且仍然使用他们的 Google 帐户登录 我们可以使用这行代码 Auth auth addStateDidChangeListener
  • JSON.Net读取错误

    我正在尝试使用 Json Net 解析一些 JSON 数据 这是我的数据 UIDClan 1 UIDKnjiga 1 Naslov Title1 DatumZaKada 2013 08 09 00 00 00 DatumIstekRez n
  • 在Java中访问其他类文件

    我们刚刚开始为我的学位学习 Java 我得到了一个文件夹 其中包含各种 Java 类 每个类都有自己的 java 文件 文件名与其所在类的名称相同 有一个文件托管一个公共类 其中包含以下内容 public static void main
  • 修改不是先前提交的提交[重复]

    这个问题在这里已经有答案了 我经常会有如下的工作流程 提交对一组文件的更改 将更改提交到不同的文件组 意识到我错过了一些属于第一次提交的更改 Curse 我无法利用git commit amend因为这不是我需要更改的最新提交 将更改添加到
  • 修复了推回内容的元素

    我正在寻找一种在页面顶部有一个固定元素的方法 该元素会根据页面宽度改变高度 并且还会推回下面的内容 到目前为止我已经解决了一些问题 但我希望有一个更干净的解决方案 我所做的是让两个顶部元素具有相同的内容 一个设置为固定位置 另一个设置为相对
  • 在加载时无需事件即可将数据从子级传递到父级,这在 vue 世界中可能吗?

    我觉得如果没有 click 事件或事件或输入字段或某些需要交互的东西 则不可能将数据从子级传递到父级 只需在加载时通 过使用此数据中的变量和控制将数据从子级数据变量传递到另一个数据变量中的父级父变量 只是加载时 可能吗 将 JSON 数据从
  • 表达式树的后缀表示法

    关于如何将表达式树转换为后缀表示法 有足够的资源 而且并不难 但我必须将后缀表达式解析为表达式树 表达式为 A 2 2 A B B 2 A B 我真的不知道如何解释这个表达式 有人知道如何处理这个问题吗 创建一个包含可能是树一部分的节点的堆
  • 拦截windows打开的文件

    我正在尝试制作一个可以拦截文件打开过程的小程序 目的是当用户双击给定文件夹中的文件时 Windows会向软件发出通知 然后软件处理该请求并将文件的数据返回给Windows 也许还有另一种解决方案 例如监视 Open 消息并强制 Window