如何使Windows资源管理器中的文件夹激活外部应用程序?

发布于 2024-07-09 16:59:09 字数 189 浏览 8 评论 0原文

我需要创建一个应用程序,当用户将文件复制到特定文件夹时,我的应用程序将被激活并且文件将被更改,此外,当用户读回文件夹中的任何文件时,也会对文件。

是否可以?

我将为此使用 .net。

我认为文件夹 C:\WINDOWS\Assembly 是这样的?

任何帮助将不胜感激! 谢谢!

I need to create an application that when a user copies a file into an specific folder, my application will be activated and the file will be changed, also, when the user reads back any file in the folder, changes will also be made to the file.

Is it possible?

I'll use .net for this.

I think the folder C:\WINDOWS\assembly is somehow like this?

Any help will be appreciated!
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绝情姑娘 2024-07-16 16:59:09

好吧,我确信您可以编写一个资源管理器扩展来执行此操作,但据我所知,更典型的方法是编写一个 Windows 服务,使用 FileSystemWatcher 类来监视事件来监视相关目录。
然后,该服务可以执行请求的操作(或生成可执行文件来执行此操作)。

我注意到的一个警告是,如果同时发生大量活动,文件观察器有时可能会错过事件(从 .net 2.0 开始 - 尚未检查 3.5)。

如果您使用该方法,请确保在收到更改通知时亲自检查目录内容,而不是依赖文件监视程序告诉您的内容。 我最终将文件观察器事件处理与不频繁的轮询结合起来,只是为了确保我没有错过任何内容。

Well, I'm sure you could write an explorer extension that would do that, but the more typical method that I know of is to write a windows service that monitors the directory in question using the FileSystemWatcher class to monitor events.
The service can then perform the requested actions (or spawn an executable to do it).

One caveat I have noticed is that sometimes the file watcher can miss events if a lot of activity occurs at once (as of .net 2.0 - haven't checked 3.5).

If you use that method, make sure you check the directory contents yourself when you receive a change notification rather than relying on what the filewatcher tells you. I ended up combining the filewatcher event handling with an infrequent poll just to make sure I didn't miss anything.

帅冕 2024-07-16 16:59:09

您可以通过使用 FileSystemWatcher 的服务检测将文件复制到文件夹中的用户。 当应用程序读取文件时更改文件内容需要修补操作系统的病毒技术。 就像 rootkit 或文件系统过滤驱动程序一样。 我不建议考虑,在写入文件后对其进行更改。

c:\windows\Assembly 包含 GAC。 .NET 安装一个隐藏文件夹内容的 shell 扩展处理程序。 该文件夹在其他方面很容易访问,外壳扩展处理程序仅在您使用 Windows 资源管理器查看该文件夹时才起作用。 Microsoft 强烈反对使用 .NET 编写 shell 扩展处理程序,该框架也完全缺乏支持。

You can detect users copying files into a folder with a service that uses FileSystemWatcher. Altering the contents of a file when an app reads the file requires viral techniques that patch the operating system. Like a rootkit or a file system filter driver. Not something I'd recommend considering, alter the file after it was written.

c:\windows\assembly contains the GAC. .NET installs a shell extension handler that hides the contents of the folder. The folder is otherwise quite accessible, the shell extension handler only works when you look at the folder with Windows Explorer. Writing shell extension handlers with .NET is strongly discouraged by Microsoft, the framework also completely lacks support.

那小子欠揍 2024-07-16 16:59:09

您可以使用 FileSystemWatcher 监视更改。

您可以将组件配置为
观看整个目录并
其内容或特定文件或集
给定目录中的文件数。 这
FileSystemWatcher 组件引发
每当文件或子目录发生事件
在指定的根目录内是
创建、删除、重命名或更改
以其他方式。 的类型
组件监控的变化
包括文件中的更改或
子目录的属性、大小、最后
写入时间、上次访问时间以及
安全设置。

You can monitor for changes with FileSystemWatcher.

You can configure the component to
watch either an entire directory and
its contents or a specific file or set
of files within a given directory. The
FileSystemWatcher component raises an
event whenever a file or subdirectory
within the specified root directory is
created, deleted, renamed, or changed
in some other way. The types of
changes that the component monitors
include changes in the file's or
subdirectory's attributes, size, last
write time, last access time, and
security settings.

策马西风 2024-07-16 16:59:09

.net 中最接近的东西是 FileSystemWatcher 类,它将监视更改(创建和写入),但不会监视读取活动。

上有许多示例

在线和 MSDN http://msdn 。 microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

The closest thing you'll get in .net is the FileSystemWatcher class, it will monitor for changes (creating and writing) but not for reading activity.

There are many samples online and on MSDN

http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文