Recebo arquivos xml de notas fiscais eletrônicas, fiz um programa que lê esse arquivo e pega suas informações. Porém, quero que ao abrir esse arquivo no desktop, ele abra o meu programa e processe essas informações. Alguém poderia me ajudar. Obrigado.
Você precisa mudar a extensão do arquivo para não ser mais XML. Se deixar como XML, você vai ter a desagradável surpresa de que qualquer arquivo XML - QUALQUER - seja processado por seu arquivo, o que não é desejável.
mhrex
Mas isso não é problema, pois a máquina que vai usar esse sistema vai só fazer isso, não vai lidar com outros arquivos xml.
E
entanglement
A associação é feita por 2 comandos de linha de comando: ASSOC e FTYPE.
Veja a documentação deles digitando
ASSOC /?
e
FTYPE /?
matheuslmota
Você tem de fazer duas coisas.
Usar o Shell Open Command (procure por isso no google) para colocar no registro do windows uma chave que associa determinada extensão de um arquivo com um programa específico para a abertura da referida extensão. Observe que você precisará de um instalador para seu programa e esse instalador deve fazer a referida modificação no registro.
Seu programa deve receber parâmetros por linha de comando (lembra-se do String[] args do método main?). Acontece que quando você abre um arquivo pelo Explorer, por exemplo clicando duas vezes nele, o windows executa o programa que você associou no shell open command passando para ele como parâmetro o nome do arquivo que foi selecionado.