zoukankan      html  css  js  c++  java
  • 如何定制Windows系统右键菜单

    今天心血来潮把几个自己常用的工具定制到了系统的右键菜单。包括notepad++,7zip,还有复制文件全路径和文件夹路径。下面简单介绍一下步骤。

    1. Windows系统右键菜单对应的注册表位置

    Windows系统的右键菜单对应着如下的注册表位置。

    1)所有文件的右键菜单:

    image

    2)所有目录的右键菜单:

    image

    2.添加自己定制的右键菜单

    1)如下的代码存为.reg文件,双击就能把注册表键值导入到注册表中。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT*shellNotepad++]
    @="Notepad++"
    "Icon"="...\notepad++ico.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOT*shellNotepad++command]
    @=""...\notepad++.exe" "%1""
    
    
    [HKEY_CLASSES_ROOT*shell7zip]
    @="7zip"
    "Icon"="...\7zipico.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOT*shell7zipCommand]
    @=""...\7z.exe" a "%1".zip "%1""
    
    [HKEY_CLASSES_ROOTDirectoryshell7zip]
    @="7zip"
    "Icon"="...\7zipico.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOTDirectoryshell7zipcommand]
    @=""...\7z.exe" a "%1".zip "%1""
    
    
    [HKEY_CLASSES_ROOT*shellCopyFileFullName]
    @="Copy File FullName"
    "Icon"="...\fullpath.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOT*shellCopyFileFullNameCommand]
    @="...\copyfullname.bat "%1""
    
    
    [HKEY_CLASSES_ROOT*shellCopyFileName]
    @="Copy File Name"
    "Icon"="...\name.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOT*shellCopyFileNameCommand]
    @="...\copyname.bat "%1""
    
    
    [HKEY_CLASSES_ROOT*shellCopyFolderName]
    @="Copy Folder Name"
    "Icon"="...\folder.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOT*shellCopyFolderNameCommand]
    @="...\copyfolder.bat "%1""
    
    
    [HKEY_CLASSES_ROOTDirectoryshellCopyFolderName]
    @="Copy Folder Name"
    "Icon"="...\folder.ico"
    "Position"="Middle"
    
    [HKEY_CLASSES_ROOTDirectoryshellCopyFolderNamecommand]
    @="...\copyname.bat "%1""

    2)如下的代码是删除上面添加这些注册表键值。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    Windows Registry Editor Version 5.00
    
    [-HKEY_CLASSES_ROOT*shellNotepad++]
    
    [-HKEY_CLASSES_ROOT*shell7zip]
    
    [-HKEY_CLASSES_ROOTDirectoryshell7zip]
    
    [-HKEY_CLASSES_ROOT*shellCopyFileFullName]
    
    [-HKEY_CLASSES_ROOT*shellCopyFileName]
    
    [-HKEY_CLASSES_ROOT*shellCopyFolderName]
    
    [-HKEY_CLASSES_ROOTDirectoryshellCopyFolderName]

    3)简单说明

    其实就是把当前的文件或者文件夹作为参数(%1)传给你需要的应用。各个应用的命令行参数可以自己去查帮助。比如我的7zip使用的是压缩命令,命令行参数就是

    1
    7z.exe a “%1".zip "%1"

    把当前文件或者文件夹放入名为文件(夹)名加上.zip的压缩包中。

    关于复制文件名和文件夹名的命令,我是用了如下的bat文件,分别存在了copyfullname.bat

    1
    2
    @echo off
    echo %~1 | clip

    copyname.bat

    1
    2
    @echo off
    echo %~nx1 | clip

    copyfolder.bat三个bat中。

    1
    2
    @echo off
    echo %~dp1 | clip

    其实就是把当前参数放进了剪切板里。

    下面列举了关于%1的一些常见用法。

            %~1             - 删除引号("),扩充 %1
            %~f1            - 将 %1 扩充到一个完全合格的路径名
            %~d1            - 仅将 %1 扩充到一个驱动器号
            %~p1            - 仅将 %1 扩充到一个路径
            %~n1            - 仅将 %1 扩充到一个文件名
            %~x1            - 仅将 %1 扩充到一个文件扩展名
            %~s1            - 扩充的路径指含有短名
            %~a1            - 将 %1 扩充到文件属性
            %~t1            - 将 %1 扩充到文件的日期/时间
            %~z1            - 将 %1 扩充到文件的大小

    3. 效果

    image

  • 相关阅读:
    Asp.Net 编码和解码
    远程连接端口号改变的数据库服务器
    SqlServer:PIVOT操作
    细说Sql Server中的视图(上)(更新)
    ubuntu安装nginx和设置网站https访问
    批量修改git仓库地址脚本
    解决macOS升级之后每次使用ssh都要输入密码的问题
    hexo博客简易搭建教程
    dcoker入门,使用docker部署NodeJs应用
    腾讯云+校园扶持计划是bug还是福利
  • 原文地址:https://www.cnblogs.com/fresky/p/3161329.html
Copyright © 2011-2022 走看看