Múltiplo menu de contexto executado como administrador através do editor de registro

0

Estou tentando criar dois menus de contexto para arquivos .EXE no Windows 8, os quais precisarão de privilégios de administrador. Como eu posso ver no registro, HKEY_CLASSES_ROOT \ exefile \ shell \ runas só pode ter um comando e está sendo usado pelo menu de contexto "Executar como administrador". No momento, estou usando esse código em um arquivo .reg:

[HKEY_CLASSES_ROOT\exefile\shell\Low Priority Run]
"HasLUAShield"=""
"MUIVerb"="&Low Resource Start"

[HKEY_CLASSES_ROOT\exefile\shell\Low Priority Run\command]
@="cmd.exe /c start /low /affinity 2 \"\" \"%1\""

[HKEY_CLASSES_ROOT\exefile\shell\Boost Application]
"HasLUAShield"=""
"MUIVerb"="&Boost Application"

[HKEY_CLASSES_ROOT\exefile\shell\Boost Application\command]
@="cmd.exe /c start /realtime \"\" \"%1\""

O sinalizador HasLUAShield parece estar exibindo apenas um escudo sofisticado e não está elevando meu comando para ser executado como administrador.

Por que eu quero que eles sejam executados como administradores? Porque quando não é executado como administrador, a prioridade "realtime" não é dada, em vez disso, apenas a prioridade "alta" é atribuída ao exe no menu Boost Application. E no Low Resource Start também, os arquivos exe contidos em (por exemplo, pasta Arquivos de Programas) são executados como normais (nem mesmo de baixa prioridade, nem Afinidade de CPU 1).

Além disso, notei em algumas entradas de "comando" no registro, há um% * no final. O que significa% *?

    
por Ajay Raghav 23.03.2013 / 13:42

1 resposta

0

Olá, eu consegui contornar este problema de vocês:

  1. Crie uma cópia de cmd.exe named cmd1.exe . Vá com os dois C:\Windows\System32 e C:\Windows\SysWOW64 .
  2. Na guia Compatibility de cmd1.exe , verifique o menu Run this program as an administrator in Properties .
  3. Altere as chaves do registro de cmd.exe para cmd1.exe .
  4. Execute um programa no contexto do aplicativo Boost e uma confirmação do UAC será exibida e você estará lá. Eu acho que deve haver um comando ou argumento que você pode usar, mas, esta é uma boa maneira de contornar o seu problema sem esforço! Funcionou bem na minha máquina VM com o Windows 8.1.
por 17.09.2013 / 18:33