Como alterar o menu de contexto do Windows Explorer

2

Eu quero editar o menu de contexto do Windows Explorer. e eu quero criar meu próprio menu com submenu como mostrado na imagem. e também fazer alguma tarefa como copiar e passar para outro destino. Alguém pode me mostrar como fazer isso com o registro.

Isso é possível ou não? se for possível, por favor me dê uma resposta passo a passo.

Folder/file 
 -->Right click
    -->List of menu(Open,copy,send to,My menu name)
       -->My menu name ->(Copy,Move) 
          -->copy -->list of "fixed" folders or destination names
                     (They are already in my Hard disk) 
                     (On click on it it will perform copy operation).

Simplesmente quero fazer um submenu no menu de contexto. e copiar e mover a operação, e eu quero exibir pastas que eu tinha criado em minhas unidades. e também alguém clica naquela pasta para realizar a operação de cópia.

    
por Dharmik Patel 02.03.2014 / 06:58

1 resposta

4

Criando menus em cascata

No Windows 7 e posterior, você pode criar menus estáticos diretamente por meio do registro.

Because HKEY_CLASSES_ROOT is a combination of HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE, you can register any custom verbs under the HKEY_CURRENT_USER\Software\Classes subkey. The main advantage of doing so is that elevated permission is not required.

Source: Creating Shortcut Menu Handlers

Modelo de registro

Aqui está um modelo de registro por usuário que você pode usar. Basta colá-lo em um novo documento de texto e aplicar as alterações necessárias. Em seguida, salve-o como um arquivo .reg e mescle-o no registro. O menu personalizado será adicionado a todos os arquivos e pastas.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\*\shell\MyMenu]
"MUIVerb"="My menu name"
"Position"="Bottom"
"SubCommands"=""

[HKEY_CURRENT_USER\Software\Classes\*\shell\MyMenu\shell\cmd1]
@="Copy"
"AttributeMask"=dword:00000001
"AttributeValue"=dword:00000001
"ImpliedSelectionModel"=dword:00000000
"MUIVerb"="@shell32.dll,-31246"

[HKEY_CURRENT_USER\Software\Classes\*\shell\MyMenu\shell\cmd1\command]
@="copy command here"

[HKEY_CURRENT_USER\Software\Classes\*\shell\MyMenu\shell\cmd2]
@="Move"
"AttributeMask"=dword:00000002
"AttributeValue"=dword:00000002
"ImpliedSelectionModel"=dword:00000000
"MUIVerb"="@shell32.dll,-4145"

[HKEY_CURRENT_USER\Software\Classes\*\shell\MyMenu\shell\cmd2\command]
@="move command here"

[HKEY_CURRENT_USER\Software\Classes\Folder\shell\MyMenu]
"MUIVerb"="My menu name"
"Position"="Bottom"
"SubCommands"=""

[HKEY_CURRENT_USER\Software\Classes\Folder\shell\MyMenu\shell\cmd1]
@="Copy"
"AttributeMask"=dword:00000001
"AttributeValue"=dword:00000001
"ImpliedSelectionModel"=dword:00000000
"MUIVerb"="@shell32.dll,-31246"

[HKEY_CURRENT_USER\Software\Classes\Folder\shell\MyMenu\shell\cmd1\command]
@="copy command here"

[HKEY_CURRENT_USER\Software\Classes\Folder\shell\MyMenu\shell\cmd2]
@="Move"
"AttributeMask"=dword:00000002
"AttributeValue"=dword:00000002
"ImpliedSelectionModel"=dword:00000000
"MUIVerb"="@shell32.dll,-4145"

[HKEY_CURRENT_USER\Software\Classes\Folder\shell\MyMenu\shell\cmd2\command]
@="move command here"

Observações

  • The AttributeMask value specifies the SFGAO value of the bit values of the mask to test with.
  • The AttributeValue value specifies the SFGAO value of the bits that are tested.
  • The ImpliedSelectionModel specifies zero for item verbs, or nonzero for verbs on the background shortcut menu.

Source: Creating Shortcut Menu Handlers

No modelo acima, os AttributeMask e AttributeValue estão definidos como 0x00000001 e 0x00000002 , respectivamente. Esses valores estão associados às constantes SFGAO_CANCOPY e SFGAO_CANMOVE , que determinam se os itens especificados podem ser copiados / movidos.

Leitura adicional

por 02.03.2014 / 17:28