如何覆盖在 Windows 资源管理器中单击文件时发生的情况?
例如,如果我想双击左键在一个程序中打开文件(基于一种算法),然后双击右键在另一个程序中打开文件。
另外,我想覆盖当外部程序尝试启动(不可执行)文件时发生的情况。
For example, if I want double left-click to open the file in one program (based on an algorithm), and double right-click to open the file in a different program.
Also, I'd like to override what happens when an external program tries to launch a (non-executable) file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我强烈建议您不要覆盖 Windows 资源管理器的工作方式。人们已经熟悉它的工作方式,改变它会导致人们做他们不想要的事情。
改变如此重要的事情的运作方式是一个非常非常糟糕的主意。
有关为什么这是一个坏主意的技术原因,请参阅 Raymond Chen 的博客。从您的个人资料中我看出您具有 C++ 技能,我建议您使用 C++ 而不是 C# 来完成此操作。
I would strongly advise that you do not override the way windows explorer works. People are already familiar with the way it works, and changing it will cause people to do things they don't intend.
Changing the way something so important works, is a very very bad idea.
For technical reasons why this is a bad idea, see Raymond Chen's blog. I see by your profile that you have C++ skill, and i would suggest doing this in C++ rather than C#.
这不是一件容易的任务,但您可以扩展 shell 或使用系统挂钩:
带键盘挂钩的 Shell 扩展
在此处输入链接说明
It's not an easy task, but you can extend the shell or use system hooks:
Shell Extension with Keyboard Hook
enter link description here