Bem, eu percebi. Isso sempre acontece.
O valor padrão para HKCR.exe é "EXEFile", que é uma classe que contém shell e shellex. Ao colocar o meu comando lá, tudo funciona de forma dinâmica.
Adicionei alguns menus de contexto personalizados no passado com muito sucesso. No entanto, estou tentando adicionar uma opção para desativar o dimensionamento de dpi no menu de contexto, pois muitos aplicativos exigem que eu vá para as configurações e faça isso manualmente. No entanto, sob HKCR\.exe
não havia opção de shell. Então eu criei um e adicionei uma chave, com um comando e estendido (para disponibilizá-lo clicando com o botão shift.
Aqui está a saída da consulta de reg HKCR\.exe\shell\DPI Compatibility\command
:
HKEY_CLASSES_ROOT\.exe\shell\DPI Compatibility\command
(Default) REG_SZ reg.exe Add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v %1 /d "~ HIGHDPIAWARE"
O comando funciona sozinho e adicionou com sucesso as configurações de DPI. No entanto, mesmo com o clique de deslocamento, não há opção. Eu tentei reiniciar.
Acho que o problema pode estar na chave PersistentHandler existente na chave .exe. Suspeito que esteja tomando precedência sobre o antigo Shell/ShellEx system
. HKCR\.exe\PersistentHandler
contém dados {098f2470-bae0-11cd-b579-08002b30bfeb}
, que é uma chave que contém dados Null Persistent handler
e chave PersistentAddinsRegistered
, que contém mais dados apontando para chaves.
Estou executando o Windows 10 se isso faz alguma diferença.