加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell使用C#在Windows中集成特定文件类型

发布时间:2020-12-15 21:21:09 所属栏目:安全 来源:网络整理
导读:所以我搜索了如何使用C#将应用程序(将其添加到右键菜单)进行 shell集成的指南,但我找不到如何仅针对特定文件类型执行此操作.我知道这是可能的,因为WinRar会这样做.那我该怎么办呢? 解决方法 通常有两种方法可以实现这一点. 注册表项 – 您可以在HKEY_CLASSE
所以我搜索了如何使用C#将应用程序(将其添加到右键菜单)进行 shell集成的指南,但我找不到如何仅针对特定文件类型执行此操作.我知道这是可能的,因为WinRar会这样做.那我该怎么办呢?

解决方法

通常有两种方法可以实现这一点.

>注册表项 – 您可以在HKEY_CLASSES_ROOT下编写键和值.如果你看看那个蜂巢,你会看到你电脑上的扩展.请查看此article以获取有关键和值的详细信息.可以在这里使用您的应用程序打开.myfile类型的选项.这是File Association Example
> Shell扩展(用COM编写):在这里你可以做更复杂的事情,比如Handlers.它们将被Windows调用,这样你就可以在菜单上绘画,或者在右键单击文件时添加自定义动作.这里有比文件更多的内容,您甚至可以添加属性表和自定义工具提示.

你会发现一些关于不使用.NET编写Shell Handler **的talk.这仅适用于旧版本的.NET. Its all ok with .NET4.

本文应该为您提供Context Menu Handler in .NET4的帮助

**为什么不推荐:

编写shell处理程序时,它会被主机进程(通常是Windows资源管理器)调用,还会调用FileOpenDialogs和FolderBrowser对话框.因此,如果您在.NET 2.0中编写了一个shell扩展,并且.NET 1.1应用程序称为文件打开对话框,然后您的.NET 2.0 shell处理程序将被调用,并且您的.NET 1.1应用程序具有较旧的CLR,则会出现问题并且会有版本冲突.

所以我很高兴最终发现这已经在.NET 4中以某种方式修复了=)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读