如何覆盖在 Windows 资源管理器中单击文件时发生的情况?

发布于 2024-10-29 00:46:25 字数 95 浏览 1 评论 0原文

例如,如果我想双击左键在一个程序中打开文件(基于一种算法),然后双击右键在另一个程序中打开文件。

另外,我想覆盖当外部程序尝试启动(不可执行)文件时发生的情况。

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 技术交流群。

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

发布评论

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

评论(2

尸血腥色 2024-11-05 00:46:25

我强烈建议您不要覆盖 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#.

爱殇璃 2024-11-05 00:46:25

这不是一件容易的任务,但您可以扩展 shell 或使用系统挂钩:

  1. 创建 Windows Shell 扩展 - http://msdn.microsoft.com/en-us/library/bb776797(v=vs.85).aspx
  2. 我想你不会能够完全实现您所描述的仅使用 Shell 扩展。如果您想进一步调查,那么您必须开始使用系统挂钩。在查看 MSDN 文档之前,您可以开始查看一些项目:
    带键盘挂钩的 Shell 扩展
    在此处输入链接说明

It's not an easy task, but you can extend the shell or use system hooks:

  1. Creating a Windows Shell Extension - http://msdn.microsoft.com/en-us/library/bb776797(v=vs.85).aspx
  2. I think that you won't be able to achieve exactly what you describe just with Shell Extensions. If you want to investigate further, then you have to start playing with system hooks. There are some projects where you can start looking at, before going to MSDN documentation:
    Shell Extension with Keyboard Hook
    enter link description here
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文