Cria e executa sua própria extensão de arquivo?

7

Eu estava verificando os arquivos em um antigo jogo chamado Warcraft III e vi que eles tinham arquivos com sua própria extensão, por exemplo, file name.w3x .

Como você cria sua própria extensão de arquivo e a executa?

    
por mendez 07.12.2011 / 16:16

5 respostas

18

Resumindo: você cria sua própria extensão de arquivo aplicando as letras que quiser no final do nome do arquivo. Você o executa dizendo ao seu sistema operacional qual programa deve ser chamado quando você clica 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 na extensão. Um monte de arquivos que eu fiz quando estou em minhas máquinas Linux eu 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 de um arquivo .mp3, por exemplo, para um .png, o Windows pensará que é uma imagem quando tentar abri-lo. O que o Windows faz é verificar a extensão e enviar o arquivo para um programa apropriado relacionado a esse arquivo. Assim, o .mp3 é enviado para o iTunes, o .png é enviado para o Paint, o .html é enviado para o Firefox / Chrome e o docx é enviado para o Word.

Em termos de criação desses arquivos, eles se enquadram em duas categorias. Existem arquivos de texto simples (.html, .txt, .java, .py, .cpp, .config, .xml) e, em seguida, há arquivos de dados binários (.exe, .mp3, .png) (bem, e depois há são misturas de texto binário e simples como .docx, mas elas podem ser tratadas como arquivos binários). Quando você está lidando com arquivos de texto simples (é texto puro se o Bloco de Notas puder abri-lo), é muito fácil de fazer. 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 / escrevendo bytes de um arquivo.

Para que você possa executar esse tipo de arquivo ao clicar duas vezes, é provavelmente o passo mais difícil, dependendo da sua linguagem de programação. Se é C ou C ++, você simplesmente aponta o Windows para o seu .exe e o Windows envia o arquivo que você deseja abrir como o segundo argumento em args para o método principal do seu programa. Em Java ou Python ainda é factível, mas você terá que trabalhar em algum tipo de solução alternativa para fazer com que o Windows abra o ambiente de tempo de execução ou o interpretador e envie o argumento de arquivo para o programa.

    
por 07.12.2011 / 16:32
2

Você precisará escolher um idioma de programação e, em seguida, criar um programa que procure arquivos com um extensão você tem chossen. Esses arquivos também devem ser escritos para que o programa que os procura possa ler, entender e executar o código.

    
por 07.12.2011 / 16:26
2

Supondo que você esteja falando sobre o Warcraft III, você está no Windows. Também assumindo que você não está querendo 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 da lista", selecione o programa desejado e marque "Sempre use o programa selecionado para abrir este tipo de arquivo". Voila, agora você pode "executar" arquivos com sua extensão personalizada.

    
por 07.12.2011 / 16:29
0

A extensão .w3x é uma extensão do mapa. O Warcraft 3 não executa essa extensão, são apenas dados do mapa.

Eles possuem sua própria linguagem de algoritmo / marcação para criar esses arquivos e como lê-los.

    
por 07.12.2011 / 16:23
0

Bem, salve o arquivo com algum nome e essa extensão. "Running" é um pouco mais difícil e depende parcialmente do SO também.

    
por 07.12.2011 / 16:24