/// <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;
        }