Respostas:
Resumindo: você cria sua própria extensão de arquivo aplicando as letras que deseja ao final do nome do arquivo. Você o executa informando ao seu SO qual programa deve ser chamado ao clicar duas vezes nele.
Explicação completa:
Uma extensão de arquivo é na verdade apenas as letras após o arquivo, não há nada de mágico nessa extensão. Muitos arquivos que criei quando estou em minhas máquinas Linux, esqueci de colocar a extensão do arquivo.
Dito isto, no Windows, a extensão do arquivo é como o Windows determina qual é o arquivo. Se você alterar a extensão do arquivo .mp3, por exemplo, para .png, o Windows achará uma imagem quando tentar abri-la. O que o Windows faz é examinar a extensão e enviar o arquivo para um programa apropriado relacionado a esse arquivo. para que .mp3 seja enviado para o iTunes, .png para o Paint, .html para o Firefox / Chrome e .docx para o Word.
Em termos de criação desses arquivos, eles se enquadram em duas categorias. Existem arquivos de texto sem formatação (.html, .txt, .java, .py, .cpp, .config, .xml) e, em seguida, há arquivos de dados binários (.exe, .mp3, .png) (bem, e então são misturas de texto binário e sem formatação como .docx, mas podem ser tratadas como arquivos binários). Quando você lida com arquivos de texto sem formatação (é texto sem formatação se o Bloco de Notas pode abri-lo), é muito fácil. Dependendo da sua linguagem de programação, você basicamente abre um arquivo e lê / grava strings no arquivo. Com arquivos binários, fica um pouco mais complicado, mas o princípio permanece o mesmo: você está lendo / gravando bytes de um arquivo.
Para fazer isso, você pode executar esse tipo de arquivo ao clicar duas vezes nele, provavelmente é o passo mais difícil, dependendo da sua linguagem de programação. Se for C ou C ++, basta apontar o Windows para o seu .exe e o Windows envia o arquivo que deseja abrir como o segundo argumento em args para o método principal do seu programa. Em Java ou Python, ainda é possível, mas você precisará trabalhar com algum tipo de solução alternativa para que o Windows abra o ambiente de tempo de execução ou o interpretador e envie o argumento do arquivo para o programa.
Você precisará escolher uma linguagem de programação e depois escrever um programa que procure por arquivos com uma extensão que você escolheu. Esses arquivos também devem ser gravados para que o programa que os procura possa ler, entender e executar o código.
Supondo que desde que você esteja falando sobre o Warcraft III, você esteja no Windows. Supondo também que você não queira fazer isso programaticamente (caso contrário, você teria perguntado no stackoverflow).
Salve um arquivo com sua extensão personalizada. Abra o arquivo no Windows Explorer e ele perguntará como abri-lo. Escolha "escolher na lista", selecione o programa que deseja e marque "Sempre usar o programa selecionado para abrir esse tipo de arquivo". Agora, agora você pode "executar" arquivos com sua extensão personalizada.