首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在注册表中更改Sharpshell图标覆盖处理程序名称以在名称前包含空格?

如何在注册表中更改Sharpshell图标覆盖处理程序名称以在名称前包含空格?
EN

Stack Overflow用户
提问于 2015-12-22 23:25:11
回答 2查看 669关注 0票数 3

我使用sharpshell创建了图标覆盖处理程序,如下所示:- http://www.codeproject.com/Articles/545781/NET-Shell-Extensions-Shell-Icon-Overlay-Handlers

我的Sharpshell处理程序是

代码语言:javascript
复制
[ComVisible(true)]
[DisplayName("  Test")]
public class SyncedIconOverlayHandler : SharpIconOverlayHandler    
{
...
}

我的问题是,我想要更改处理程序名称,以便在名称之前包含空格,因此,我的处理程序将优先于Dropbox和Google Drive。

EN

回答 2

Stack Overflow用户

发布于 2016-01-13 15:56:04

这不是关于创建覆盖,而是关于在覆盖标识符列表中使用的排序顺序。要更改您的名字出现的位置,您需要更改标识符的名称,使其以D之前的字母开头,因为DropboxExt1是第一项。因此,请给它另一个名字,而不是使用" Test"

使用空格不是可行的方法。这样做的一个好方法是以下划线_字符开头,该字符将出现在列表中字母A之前。这将确保如果添加了任何未来的标识符,它将保留在开头。

票数 1
EN

Stack Overflow用户

发布于 2016-05-10 11:27:53

正如你所知道的那样,你可以在名字后面加上空格来将你的覆盖排序到其他覆盖之上--许多常见的图标覆盖都是这样做的,例如Google Drive,Dropbox和Tortoise SVN。

排序的优先级是因为只显示排序的前15位-这是从Windows 95开始的Windows的一个限制!(在今天的Windows10中仍然如此)。例如,如果你正在与Google Drive竞争,而你的两个图标覆盖都在前15名中,你需要返回一个较低的优先级数字,这是你在SharpShell中通过覆盖GetPriority()所做的。如果两个都返回相同的优先级,那么显示的可能是排序后的那个?将不得不测试..

像其他人建议的那样使用_不是一种方法,它在空格之后进行排序。

你想要做的是-通过编程指定名称,而不是手动编辑注册表不是由SharpShell提供的-我有同样的问题,所以我将尝试添加一个属性,它就是这样做的,将在我这样做时更新它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34419125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档