无论如何让程序共享Windows资源管理器图标叠加?

时间:2016-01-11 22:32:56

标签: windows tortoisesvn overlay

此时,Windows仅允许15个图标叠加,这是一个很好的领域。我理解如何重命名注册表项以获得我绝对需要可见的叠加层。但我想知道是否有更好的方法。

我对注册表编辑知之甚少,而且我几乎不了解Windows的内部工作以及如何实际请求/交付覆盖。所以我不确定这些叠加实际上是如何工作的......但我使用的覆盖的程序(TortoiseSvn,Box,Google Drive)基本上都是一样的。一般来说,它们将本地文件的状态与云中或服务器上的文件状态进行比较。出于这个原因,似乎可以在逻辑上共享这些叠加中的许多叠加。为什么BoxSynced,GoogleDriveSynced和Tortoise1Normal都不能使用相同的图标?

所以我的问题是:有没有人知道如何操纵注册表来组合一些图标叠加?或者是否有某种工具或实用程序可以实现类似一组“共享覆盖”的东西?

1 个答案:

答案 0 :(得分:4)

TortoiseOverlays是一个可以达到此目的的垫片。它被设计为在Tortoise客户端(SVN,git,Hg)之间共享图标叠加,但只要您可以将文件同步状态与给定的版本控制图标之一匹配,它就可以重新用于文件同步程序(如果TortoiseOverlays扩展它以允许更多可能的图标,那将是很好的。

说明:

  1. 安装TortoiseOverlays。它可以安装directly,也可以随Tortoise客户端一起安装。
  2. 确保TortoiseXxxxx密钥首先在[HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIconOverlayIdentifiers]中预先添加一些空格。
  3. 将相应的密钥添加到[HKLM \ SOFTWARE \ TortoiseOverlays]以确定映射。
  4. 您可以通过阅读TortoiseOverlays instructions添加相应的键,然后确定从叠加键映射到哪些状态(这通常很容易给出键名,但对于Dropbox和OneDrive,请参阅{{3} }和here)。下面我给出了一个适用于Dropbox,Google Drive,OneDrive和OwnCloud的示例。可以将相应的部分保存到.reg文件并导入它们。

        ; GoogleDriveSynced
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "GoogleDrive"="{81539FE6-33C7-4CE7-90C7-1C7B8F2F2D40}"
    
        ; GoogleDriveBlacklisted
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Ignored]
        "GoogleDrive"="{81539FE6-33C7-4CE7-90C7-1C7B8F2F2D42}"
    
        ; GoogleDriveSyncing
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "GoogleDrive"="{81539FE6-33C7-4CE7-90C7-1C7B8F2F2D41}"
    
        ;OCError
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "OC"="{0960F090-F328-48A3-B746-276B1E3C3722}"
    
        ;OCErrorShared
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "OCShared"="{0960F091-F328-48A3-B746-276B1E3C3722}"
    
        ;OCOK
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "OC"="{0960F092-F328-48A3-B746-276B1E3C3722}"
    
        ;OCOKShared
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "OCShared"="{0960F093-F328-48A3-B746-276B1E3C3722}"
    
        ;OCSync
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "OC"="{0960F094-F328-48A3-B746-276B1E3C3722}"
    
        ;OCSyncShared
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "OCShared"="{0960F095-F328-48A3-B746-276B1E3C3722}"
    
        ;OCWarning
        ;"OC"="{0960F096-F328-48A3-B746-276B1E3C3722}"
    
        ;OCWarningShared
        ;"OCShared"="{0960F097-F328-48A3-B746-276B1E3C3722}"
    
        ;DropboxExt1 - "Synced!"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "Dropbox"="{FB314ED9-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt2 - "Sync in progress"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "Dropbox"="{FB314EDA-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt3 - "Synced! - Locked"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "DropboxLock"="{FB314EDD-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt4 - "Sync in progress - Locked"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "DropboxLock"="{FB314EDE-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt5 - "Sync not happening" (red x)
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "Dropbox"="{FB314EDB-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt6 - "Sync not happening - Locked" (red x + Lock)
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "DropboxLock"="{FB314EDF-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt7 - "A file or folder isn't syncing" (gray minus)
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Ignored]
        "Dropbox"="{FB314EDC-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;DropboxExt8 - "A file or folder isn't syncing - Locked" (gray minus+Lock)
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Ignored]
        "DropboxLock"="{FB314EE0-A251-47B7-93E1-CDD82E34AF8B}"
    
        ;OneDrive1 - "Not syncing" (red x)
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "OneDrive"="{BBACC218-34EA-4666-9D7A-C78F2274A524}"
    
        ;OneDrive2 - "Synced (Shared)"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "OneDriveShared"="{5AB7172C-9C11-405C-8DD5-AF20F3606282}"
    
        ;OneDrive3 - "Syncing (Shared)"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "OneDriveShared"="{A78ED123-AB77-406B-9962-2A5D9D2F7F30}"
    
        ;OneDrive4 - "Synced"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "OneDrive"="{F241C880-6982-4CE5-8CF7-7085BA96DA5A}"
    
        ;OneDrive5 - "Syncing"
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "OneDrive"="{A0396A93-DC06-4AEF-BEE9-95FFCCAEF20E}"
    
        ;BoxSyncSynced
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Normal]
        "BoxSync"="{c89f9943-8f58-3eca-bd55-a658f53b2f48}"
    
        ;BoxSyncNotSynced
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "BoxSync"="{5ea95e3d-3e46-3812-b03c-49785fa67d41}"
    
        ;BoxSyncFileLocked
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Locked]
        "BoxSync"="{2a607da5-abe8-358e-a881-c0f5faf2d3a5}"
    
        ;BoxSyncFileLockedByOther
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Modified]
        "BoxSync"="{f7d2951f-0b6b-346c-99ec-69cffc30a364}
    
        ;BoxSyncProblem
        [HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseOverlays\Conflict]
        "BoxSync"="{a88b7184-bfa1-3d14-8efb-2225df9699bc}"
    

    我编写了一些注册表项的一些注意事项:

    • 我已映射"错误"到"冲突"和"同步"到"修改"。 OwnCloud"警告"没有明显的匹配。所以他们没有映射到任何东西。
    • 许多程序都有一些额外的图标,这些图标与我忽略的特征不同,因此我将这两个图标映射到同一个图标。这些包括OwnCloud"共享",Dropbox"锁定"和OneDrive"共享"对
    • 密钥取决于CLSID,这可能会在文件同步程序的版本之间发生变化。