当用户创建挂载点时如何收到通知?

2023-12-25

首先,这是限制:

  • 必须在XP上运行
  • 必须通知驱动器盘符分配以及将卷安装到文件夹
  • 如果驱动器正在睡眠,则不得“唤醒”该驱动器。
  • 我真的不想轮询驱动器。

我尝试过的:

  1. Google
  2. 我查看了 WMI 和 Win32_LogicalDisk 类。我可以确定哪些驱动器安装到驱动器号,但不能确定哪些驱动器安装到文件夹。 Win32_Volume* 和 Win32_MountPoint 类是完美的,但在 XP 上不可用。
  3. 我尝试使用 FindFirstVolume 和 GetVolumePathNamesForVolumeName 轮询驱动器(尽管我不想这样做),但似乎驱动器必须先旋转才能向我提供信息。再次,呃,民意调查。

我正在考虑使用 API 挂钩来挂钩对 SetVolumeMountPoint 和 DeleteVolumeMountPoint 的调用的可能性,但我认为这不会捕获所有内容,而且看起来这可能是一个丑陋的黑客行为。

所以,是的,我正在寻找建议:)


SetVolumeMountPoint 上的 API 挂钩应该可以让您拦截卷挂载。但我不确定网络共享。

但这不会是一个“丑陋的黑客”。您想要做的是 Windows 中内置的挂钩的用途。 Codeproject.com 有关于 API hooking 的精彩教程:http://www.codeproject.com/KB/system/hooksys.aspx http://www.codeproject.com/KB/system/hooksys.aspx

所以你实际上说出了你自己的最佳解决方案。请记住,还有一个单独的驱动器号 API:http://nukz.net/reference/fileio/hh/winbase/fsys_6j8z.htm http://nukz.net/reference/fileio/hh/winbase/fsys_6j8z.htm

你的项目听起来很有趣。通常,特洛伊木马和防病毒软件会尝试执行此操作(它们也会捕获网络共享)。我只是偶尔熟悉这个主题,所以我希望这会有所帮助。

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

当用户创建挂载点时如何收到通知? 的相关文章

  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • Kerberos 双跳

    我们遇到了臭名昭著的 Kerberos 双跳问题 这是一个全新的域 是从以前使用模拟和委派的另一个提供商迁移而来的 我们已将操作系统升级到最新的 SQL 服务器 2017 WPF 应用程序 使用域凭据 gt Web 服务 IIS 10 上的
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前
  • 如何在批处理文件中回显换行符?

    如何从批处理文件输出中插入换行符 我想做类似的事情 echo hello nworld 这会输出 hello world Use echo hello echo echo world
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容
  • 将 CrashDumps 转储到应用程序运行所在的同一文件夹中

    我编写了一个应用程序 我希望对其进行一定程度的自动调试 我想使用 Windows 错误报告将故障转储输出到应用程序运行所在的同一文件夹中 我的想法是 我可以让我的应用程序在它自己的文件夹中查找任何 dmp 文件 然后根据需要上传它们进行分析
  • 非托管 C++ 中的默认打印机

    我正在寻找一种使用非托管 C 查找 Windows 默认打印机名称的方法 找到了大量 NET 示例 但非托管没有成功 谢谢 以下是如何获取当前打印机和默认打印机的列表 如果有一台设置为默认打印机 另请注意 如果用户没有打印机或未将打印机名称
  • 如何向未知用户目录读取/写入文件?

    我正在尝试从用户目录 C Users USERNAME Test Source 读取和写入文件 但我未能成功找到任何有关如何自动检测用户名的资源 其中的 USERNAME上面的例子 或者无论如何 我可以让它读取和写入目录 而不需要知道用户名
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • Sencha Cmd 5 + Java 8 错误

    在我的 Windows 构建服务器上安装 Java 8 JDK 后 执行以下命令时遇到以下错误sencha命令 C gt sencha Error Registry key Software JavaSoft Java Runtime En
  • 在 Windows 7 上连接到高于 10 的 COM 端口时出现无效句柄错误

    我开发了一个简单的串行端口应用程序 可以在低于 10 的 COM 端口 COM9 COM8 COM1 上正常工作 但是 当我的设备连接到高于 10 的端口 例如 COM11 时 它无法连接 并且我收到 INVALID HANDLE 我的代码
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 生成尽可能最快的可执行文件

    我有一个非常大的程序 我一直在 Visual Studio 下编译 v6 然后迁移到 2008 我需要可执行文件尽可能快地运行 该程序大部分时间都花在处理各种大小的整数上 并且执行很少的 IO 显然 我会选择最大优化 但似乎可以做很多不属于
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr

随机推荐

  • 以编程方式在支持 bean 中创建并添加复合组件

    我正在使用动态仪表板 用户可以根据需要固定和删除项目 现在我有一个问题 我想将现有的复合组件从支持 bean 添加到视图中 我试图从互联网上找到正确的方法来做到这一点 但到目前为止还没有成功 这是我要添加的简单复合组件
  • 在我的 React 应用程序中访问 heroku 配置变量

    我在我的 Heroku 应用程序中定义了一个配置变量 BASE URL 我试图在我的 React 应用程序中访问它 process env BASE URL 但当我 console log 它时 它给了我未定义的信息 因为它似乎不存在 如何
  • Android Studio 更新到 2.0 后冻结

    我刚刚将 Android Studio 从 1 4 更新到 2 0 启动时它在启动屏幕上冻结 是否可以修复它或者我必须重新下载它 这很奇怪 我的 MAC Ubuntu 和 Windows 10 也已更新到 2 0 到目前为止 我没有感觉到任
  • 在bash中,如何将返回值存储在变量中?

    我知道 Linux 中的一些非常基本的命令 并且正在尝试编写一些脚本 我编写了一个函数 用于计算 5 位数字中最后 2 位数字的总和 该函数应将所得总和连接在最后 2 位数字之间并返回它 我想返回这个值的原因是因为我将在另一个函数中使用这个
  • 了解二进制 xls 文件格式

    我试图在不使用任何 xls 库的情况下读取 xls 文件的内容 但这样做时遇到问题 我正在尝试使用我找到的信息here http msdn microsoft com en us library gg615597 aspx 它有一些关于如何
  • Gmail 未检测到回复字段

    我的设置中有以下设置反馈邮件程序 def notification feedback from email protected cdn cgi l email protection subject Some feedback recipie
  • HTML img 属性“完整”

    谁能解释一下属性的含义complete 我在某处读到这可能与 DOM 有关 img src folder pic jpeg 属性complete规范中没有定义的含义 并且它可能没有任何效果 尽管可以使用getAttribute 方法 所以问
  • 我需要从 serviceworker 中访问本地存储或 cookie

    我希望在推送事件之后进行 fetch 调用 通过内部 api 获取 notif 数据 其中包含用户特定的参数 这些参数存储在本地存储或 cookie 中 例如用户类型或国家 地区 ID 我该怎么做 您无法在 Service Worker 中
  • 设置 mex 以使用 Visual Studio 2010 编译器

    我安装了 Visual Studio 2010 但是 MATLAB 找不到编译器 gt gt mex setup Please choose your compiler for building external interface MEX
  • 沿着 d3 中的路径拖动

    使用 d3 和 React 我绘制了一条路径 在这条路径上 我有多个圆圈 只能沿着该路径拖动 然而 我当前的实现仅 在某种程度上 在该路径上有一个圆圈时才有效 在 DragStart 上 无论位置如何 它都会在路径上移动到长度 0 并且每当
  • 仅显示 x 轴图的第一个和最后一个刻度标签

    我正在解析日志文件并创建一个绘图 我不需要 X 轴上的所有标签 我只想显示第一个和最后一个或其中的几个 并带有特定的步骤 假设每 100 个 我怎样才能做到这一点 我只能显示第一个或最后一个 但不能同时显示两者 My code import
  • PHP 的日期和时间助手(如 Java 中的 Joda-Time)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个类似的库 开源 乔达时间 http www joda org joda time 在Ja
  • 在 CMake 中混合 C 和 C++,什么是 CMakeCCompilerId.c 以及如何丢弃它

    我有一个混合 C 和 C 的简单项目 将 C 库包装到 C 类中并使其易于在 C 项目中使用 该项目是使用 VisualStudio 构建的 我在 Linux 或 Mac 下 所以我想将其转换为 CMake 项目 VS项目内容满满的
  • 在可扩展列表中以编程方式扩展组行

    我正在使用可扩展列表视图 当单击里面的图像时 我是否可以展开组行 我知道要让图像响应点击 我必须设置其焦点 现在 一旦此图像响应单击 在我的客户适配器内 我如何以编程方式展开 折叠它所属的特定组行 谢谢 在适配器中 private OnIt
  • Windows ssh - 如何在断开连接后保持进程运行

    我想通过 SSH PHP 脚本 启动 java 进程 Minecraft 服务器 并且在断开连接时不应将其关闭 我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器 我可以启动服务器 但如果我与 ss
  • 如何在 Firefox Mobile (Fennec) 扩展的内容脚本中使用 jQuery?

    我正在开发 Firefox Mobile Fennec 扩展 我想在内容脚本中使用 jQuery 最好的方法是什么 我正在桌面版 Firefox Mobile 4 上进行测试 覆盖 js window addEventListener lo
  • 合并两个数组而不使用额外空间

    我有 2 个已排序的数组 a1 and a2 长度l1 and l2 分别 数组a2长度末尾有空格l1 所以它可以容纳所有元素a1除了它本身的元素之外 现在我想合并a1 into a2以便a2将包含以下所有元素a1 and a2按排序顺序
  • 命令行 Jasypt 客户端加密“无法操作”

    我正在使用 Jasypt 以非明文格式将数据库密码存储在休眠配置文件中 例如代替
  • C++ 模板和 ODR 规则

    为什么以下工作在C 我想ODR规则将出现在以下代码中 typedef char int8 class Sample public template
  • 当用户创建挂载点时如何收到通知?

    首先 这是限制 必须在XP上运行 必须通知驱动器盘符分配以及将卷安装到文件夹 如果驱动器正在睡眠 则不得 唤醒 该驱动器 我真的不想轮询驱动器 我尝试过的 Google 我查看了 WMI 和 Win32 LogicalDisk 类 我可以确