/// <summary> /// Cria uma instância da classe <see cref="DirectoryPrompAquiItem"/> /// </summary> /// <param name="path">Caminho do registro onde a chave se encontra</param> /// <param name="paramPattern">Padrão para recuperar o parâmetro. Ex: %1, %V</param> /// <param name="isAdm">Indica se o comando será executado com privilégios de administrador</param> public DirectoryPrompAquiItem(string path, string paramPattern, bool isAdm) : base(Registry.ClassesRoot, path + "\\Shell\\04PromptAqui") { MUIVerb = "Prompt aqui"; Icon = "%SystemRoot%\\system32\\cmd.exe"; string exePath = Constantes.WinShellShortcutsFullPath; if (isAdm) { MUIVerb += " (Adm)"; exePath = Constantes.WinShellShortcutsFullPath_Adm; RegistryPath = RegistryPath.Replace("04PromptAqui", "05PromptAquiAdm"); } Command = $"\"{exePath}\" /p={typeof(DirectoryPrompAquiItem).FullName} \"{paramPattern}\" "; HasLUAShield = isAdm; }