Crie um novo submenu "Novo" no menu de contexto com um nome personalizado

6

Eu gosto de experimentar muito com codificação e criar arquivos html, css, js etc. cada vez que eu quero tentar algo é cansativo. Para contornar isso, eu criei arquivos de template html, css, etc. e adicionei-os em "New" no menu de contexto ( Como posso adicionar um item ao 'novo' menu de contexto? ).

Atualmente, adicionei 4 itens; html, css, js e php. O submenu "Novo" ficou um pouco lotado. Agora estou pensando se é possível criar um novo submenu com um nome personalizado (por exemplo, "Coding") que eu possa adicionar esses arquivos. O submenu "Novo" real seria menos lotado e eu poderia acessar esses arquivos de codificação facilmente em um novo submenu.

Em segundo lugar, este novo submenu não precisa necessariamente estar bem no menu de contexto. Pode estar dentro do menu "Novo". Eu só quero agrupar esses quatro arquivos.

Cenário de pior caso, posso reordenar o submenu "Novo"? Eu gostaria de empilhar esses quatro no topo ou na parte inferior.

Atualização:crieium repositório para essa funcionalidade. Sinta-se à vontade para conferir.

    
por akinuri 18.08.2017 / 08:20

2 respostas

2

Eu tenho procurado por uma solução para isso, mas a coisa mais próxima que eu criei foi adicionar um novo item ao menu de contexto que chama um script que faz uma cópia de um arquivo de modelo.

Isso não é realmente o que eu quero, mas isso pode dar uma ideia a alguém, então vou postar isso de qualquer maneira.

Primeiro, procurei uma maneira de adicionar um item ao menu de contexto. Por exemplo, prompt de comando. A seguir, a chave do registro faz o trabalho.

Windows Registry Editor Version 5.00

; Directory\Background\shell => on empty space

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]
"Icon"="cmd.exe,0"
@="Command Prompt"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command]
@="cmd.exe"

; Directory\shell => on a folder

[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k cd %1"

Em seguida, desejo adicionar um item que crie um arquivo, por exemplo, um arquivo CSS.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\SysWow64\SHELL32.dll,69"

[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS\command]
@="C:\Windows\CustomNew\css.bat"

Semelhante à chave de registro do Prompt de Comando, isso adicionará um item ao menu de contexto, mas, em vez de executar um aplicativo, ele chama um arquivo bat. Conteúdo do arquivo bat:

@echo off

copy C:\Windows\ShellNew\css.css %cd%

rename css.css "New Cascading Style Sheet Document.css"

Eu tenho um arquivo de modelo css.css em C:\Windows\ShellNew . Eu simplesmente faço uma cópia do arquivo de modelo no diretório onde clico com o botão direito e escolho Cascading Style Sheet Document .

Claroquenãousareiestemétodo.Issosócomplicaaindamaisascoisas.Imaginetertodososarquivosbat,css,html,jsephpnomenudecontexto.Euaindaprecisodeumasoluçãomelhor.

Atualização:

Eupossoterencontradoumasolução.Artigooriginal: Adicionar menus em cascata para Programas no Desktop e Meus Menus de Contexto de Computador no Windows 7 e posterior - AskVG

Adicionando o menu personalizado ao menu de contexto:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Coding]
"Icon"="C:\Windows\CustomNew\coding.ico"
"MUIVerb"="Coding"
"SubCommands"="cmd;css;html;js;php;bat"
"Position"="Top"

Para que este menu funcione, precisamos definir esses comandos cmd , css , html , etc. Por exemplo, definindo o Prompt de Comando:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd\command]
@="cmd.exe"

Clicar no Prompt de Comando no menu executará cmd.exe . Isso é simples. Parte complicada é adicionar um item / aplicativo que cria um novo arquivo.

Vamos começar com um arquivo CSS. O registro a seguir adicionará o item ao menu.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\System32\shell32.dll,-151"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css\command]
@="C:\Windows\CustomNew\css.bat"

Embora tenhamos um novo item com o nome "Documento em folha de estilo em cascata", clicar nele normalmente não faria nada. Para criar um novo arquivo na pasta atual, chamamos um script.

Eu preparei um script em lote para cada tipo de arquivo que desejo criar; bat.bat , css.bat , html.bat , etc. e os colocou em C:\Windows\CustomNew . Também coloquei os arquivos de modelo bat.bat , css.css , html.html , etc. em C:\Windows\ShellNew .

Portanto, sempre que clico em "Documento em folha de estilo em cascata" no menu, eu chamo o css.bat que faz uma cópia do arquivo de modelo css e o coloca na pasta atual.

css.bat file:

@echo off

copy C:\Windows\ShellNew\css.css "%cd%"

rename css.css "New Cascading Style Sheet Document.css"

Seria melhor criar um novo arquivo css sem chamar nenhum script, mas não acho que seja possível. No entanto, se alguém tiver alguma ideia, adoraria ouvi-la.

Olhe para isso. É lindo:)

    
por 30.08.2017 / 16:13
0

Eu criei o arquivo reg anexo "template" que ajuda a criar um menu com dois submenus no Windows 10. Espero que você ache isso útil. Exclua todos os comentários no arquivo reg depois de concluir seu submenu.

;--------------------------------------------------

Windows Registry Editor Version 5.00

;add.submenu.to.context.menu.blank.template
;(1) Change "MUIVerb"="MyNewMenu" to top level TITLE of both 
;Directory and Background menus (BOTH should have same TITLE)
;(2)Change all MyMenu1 to a unique identifier for this entire one submenu
;(3)Change "MUIVerb"="FirstCommand" to first command name
;(4)Change command line (@) following MUIVerb FirstCommand to desired first
command line
;(5)Change "MUIVerb"="SecondCommand" to second command name
;(7)Change command line (@) following MUIVerb SecondCommand to desired second
command line
;(8)Change icons if desired
;(9)Save file as .reg file

;This displays context menu when you right-click Directory
[HKEY_CLASSES_ROOT\Directory\shell\MyMenu1]
;Directory Level Menu Title 
"MUIVerb"="MyNewMenu"
"Icon"="cmd.exe"
"ExtendedSubCommandsKey"="Directory\ContextMenus\MyMenu1"

;This displays context menu when you right-click Directory Background
[HKEY_CLASSES_ROOT\Directory\background\shell\MyMenu1]
;Background Level Menu Title
"MUIVerb"="MyNewMenu"
"Icon"="cmd.exe"
"ExtendedSubCommandsKey"="Directory\ContextMenus\MyMenu1"

;First command under submenu
[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\open]
"MUIVerb"="FirstCommand"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\open\command]
@="cmd.exe /s /k pushd \"%V\""

;Second command under submenu
[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\runas]
"MUIVerb"="SecondCommand"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\ContextMenus\MyMenu1\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
;-------------------------------------------------
    
por 21.02.2018 / 00:13