在开始之前,我会给你一个我想要做的概述。因为我不知道使用Windows文件系统属性是否是正确的选择。通过Windows文件系统属性发送自定义信息
我在系统中有两个组件。 其中之一是一个ShellExtension是把当某些条件得到满足的OverlayIcon和其他组件是文件系统驱动程序其到Windows(到ShellExtension因此)提供信息
文件系统,使用该名称的文件向远程服务器发出网络请求,并根据此请求的结果执行,则应显示或不显示重叠图标。
直接的解决方案是从OverlayIcon端重复请求,但这是不可取的。在FileSystem方面,我有请求结果,但我需要将它发送到Overlay。
我想到的第一个解决方案是使用Windows FileSystem属性。我的意思是,在文件系统驱动程序中,我将放置一个纯粹未使用的属性(例如0x1000000,根据MSDN似乎不会使用它),并在OverlayIcon中恢复此信息,前提是该资源管理器发送给Shell将文件属性扩展为“IsMemberOf”的参数。即,使用Windows文件属性将信息从FileSystem端编译到ShellExtension端。
此解决方案不起作用,似乎在流程的某个部分,此属性被删除。这是有道理的,因为这个属性看起来不是有效的。如果我将属性值替换为像HIDDEN这样的属性值,它可以很好地工作。
明显的解决方案(但它有更多的工作要做)是使用一些IPC机制。
但是因为我在游戏的双方如果我可以使用Windows文件系统信息会更好。
你有什么建议?
谢谢!
令我印象深刻的是,微软正在积极制止这些想法。是的,淘汰这样的保留位会减慢世界上的每一个系统,但它使得更稳定,更可靠的软件。旧的adagium“相信程序员正确地做事”只是太天真了。 – MSalters 2010-02-17 10:24:18