gpt4 book ai didi

c++ - 在 Windows 中修改文件夹时通知我的应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:19 26 4
gpt4 key购买 nike

我希望我的应用程序创建的文件夹的所有权只属于我的应用程序。这是因为我将应用程序的数据链接到文件夹路径。所以这两种解决方案中的任何一种都适合我:

  1. 不允许任何人修改我的应用程序创建的文件夹。只有我的应用程序可以删除/重命名该文件夹。修改它通过 Windows 资源管理器应该需要管理员权限。
  2. 如果上述解决方案不可行,至少应将更改通知我的应用程序,以便更新我的应用程序的链接。

问题是在Windows中是否可以做到这一点?我觉得语言没有发挥作用,但如果需要,我仍在使用 C++ 中的 Qt 来开发我的应用程序。

编辑:现在有两种情况被通知:

一个。当我的应用程序正在运行并且文件夹被修改时。

当我的应用程序未运行且文件夹被修改时(如果 Windows 维护文件夹更改的日志文件,这可能会实现。我的应用程序可以读取此日志文件并了解文件夹中的更改)。

其实我是想专门问case b的,现在看了答案感觉case b可能通知不到。

最佳答案

Windows 中的安全性是基于帐户的,而不是基于应用程序的。文件夹不是“由您的应用程序创建的”;它是由运行您的应用程序的用户创建的。

至于被通知,保持开放句柄即可。这将防止文件夹在您运行时被更改。显然,当您不运行时,您甚至无法收到通知。

[编辑]当您的应用未运行时,您需要 NTFS change journals .

关于c++ - 在 Windows 中修改文件夹时通知我的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com