Criando Autorun
No Windows, por default, quando você coloca um CD de música ele começa a tocar sozinho e quando você coloca um CD de dados um certo programa é executado automaticamente.
No caso do CD de música, o Windows o reconhece como tal e executa o programa que está registrado para tocar CDs. Isso independe de quando o CD de música foi lançado, já que o formato básico é sempre o mesmo. Você pode apanhar um CD lançado quando o Windows nem existia, colocar no drive e ouvi-lo começar a tocar sozinho, sem sua intervenção.
O caso do CD de dados é diferente. Enquanto que para um CD de áudio é razoável assumir que o ouvinte queira começar ouvindo a partir da primeira faixa, não há como fazer uma presunção razoável do que o desenvolvedor do CD gostaria que fosse executado automaticamente. O programa principal pode estar em qualquer lugar do CD, em um diretório chamado "seilaoque" que está dentro de um outro diretório chamado "seilaonde" que está rodeado de outros duzentos diretórios e um monte de outros arquivos executáveis. O próprio programa pode se chamar menu.exe, instalar.exe, rodar.exe, clique_em_mim.exe, etc, etc, etc. E em várias línguas diferentes. As possibilidades são simplesmente infinitas.
É aí que entra em cena o AUTORUN.INF
O Windows não tenta adivinhar o que o desenvolvedor ou você deseja que seja executado quando você insere o CD. Ele procura um arquivo chamado autorun.inf na raiz do CD e segue as instruções contidas lá. Um autorun.inf básico é realmente muito simples de entender e criar, pois só contém duas informações. O exemplo abaixo mostra um autorun.inf simples, retirado do CD ROM Starcraft - Broodwar:
[autorun]
OPEN=SETUP.EXE
ICON=BW.ICO
* O que vem depois de "OPEN=" diz ao Windows o que deve ser executado.
* O que vem depois de "ICON=" diz ao Windows que ícone usar para representar o CD em Meu Computador ou no Explorer.
No caso, ao inserir o CD do Starcraft Broodwar é executado o arquivo setup.exe que está na raiz do CD e o disco é representado pelo ícone BW.ICO que também está na raiz.
É só isso! Basicamente isso é tudo o que você precisa saber para entender o AUTORUN do Windows como usuário. Abra o CD no explorer, procure o arquivo autorun.inf na raiz (se não estiver lá, o CD não tem AUTORUN), clique com o botão direito sobre ele e selecione ABRIR para dar uma olhada no seu conteúdo (abre no Notepad).
AUTORUN Avançado
Entretanto, se você tem gravador de CD talvez queira criar seus próprios arquivos autorun.inf e aí você pode se beneficiar de um conhecimento extra. Continue lendo!
O que acontece se o arquivo que você quer executar e o ícone não estão na raiz do CD também, como no exemplo acima? Você inclui nas declarações OPEN e ICON o caminho para o arquivo, lembrando que não faz sentido incluir a letra da unidade, como no exemplo abaixo, retirado do CD do Windows 98 SE:
[autorun]
OPEN=CDSAMPLE\AUTORUN\AUTORUN.EXE ICON=CDSAMPLE\AUTORUN\WIN98CD.ICO
O ícone e o executável podem estar até em diretórios diferentes. Não importa, desde que você faça as declarações OPEN e ICON de acordo.
Você pode estar pensando, pelos exemplos ateriores, que as declarações tem que estar inteiramente em maiúsculas para funcionar; mas não é esse o caso. Você pode reescrever o autorun.inf anterior assim:
[autorun]
open=cdsample\autorun\autorun.exe
icon=cdsample\autorun\win98cd.ico
e vai funcionar do mesmo jeito.
Sobre ícones
Se você não quiser ter um ícone próprio para representar o CD, não há problema. É só omitir a declaração ICON=, como no exemplo abaixo (exemplo do CD Almanaque Abril 98):
[autorun]
open=autorun.exe
e o CD será representado com o símbolo padrão do Windows 9x.
Quanto ao ícone, não é preciso tê-lo no CD em formato ICO, como nos exemplos até agora. Se sua aplicação tiver um ícone incorporado, você pode construir se autorun.inf assim (exemplo do jogo "The Phantom Menace"):
[autorun]
open=tpm.exe
icon=tpm.exe
aqui, o ícone para o CD será o mesmo ícone do programa, que fica embutido nele mesmo. O Windows sabe como proceder. Você também pode indicar um executável completamente diferente no CD e o windows pegará seu ícone para representar o CD.
ícones avançados
Alguns programas tem mais de um ícone embutido e alguns arquivos são realmente apenas bibliotecas de ícones. O Windows proporciona um modo de você escolher que ícone dentro do arquivo você deseja usar, usando um parâmetro na declaração ICON como no exemplo abaixo.
icon=shell32.dll,6
o resultado desse comando é que o Windows usará o sexto ícone presente em shell32.dll para representar o CD.
no exemplo que dei, usei um arquivo do próprio Windows que tem cerca de 80 ícones embutidos, mas você pode usar qualquer outro. Como no meu exemplo acima, nem é necessário incluir o caminho completo para o arquivo, se este estiver no PATH do seu sistema.
Para saber que ícones existem em um determinado arquivo, use um programa como o conhecidíssimo Microangelo ou o Jonesoft Icon Extractor (que eu recomendo por funcionar bem, ser pequeno _575KB descompactado_, não precisar de instalação e ser freeware).
Tenha em mente que o primeiro ícone de um arquivo é visto pelo Windows como ícone "0" (zero).
É isso gente... espero que tenham gostado...
See you
M1r4g3
No Windows, por default, quando você coloca um CD de música ele começa a tocar sozinho e quando você coloca um CD de dados um certo programa é executado automaticamente.
No caso do CD de música, o Windows o reconhece como tal e executa o programa que está registrado para tocar CDs. Isso independe de quando o CD de música foi lançado, já que o formato básico é sempre o mesmo. Você pode apanhar um CD lançado quando o Windows nem existia, colocar no drive e ouvi-lo começar a tocar sozinho, sem sua intervenção.
O caso do CD de dados é diferente. Enquanto que para um CD de áudio é razoável assumir que o ouvinte queira começar ouvindo a partir da primeira faixa, não há como fazer uma presunção razoável do que o desenvolvedor do CD gostaria que fosse executado automaticamente. O programa principal pode estar em qualquer lugar do CD, em um diretório chamado "seilaoque" que está dentro de um outro diretório chamado "seilaonde" que está rodeado de outros duzentos diretórios e um monte de outros arquivos executáveis. O próprio programa pode se chamar menu.exe, instalar.exe, rodar.exe, clique_em_mim.exe, etc, etc, etc. E em várias línguas diferentes. As possibilidades são simplesmente infinitas.
É aí que entra em cena o AUTORUN.INF
O Windows não tenta adivinhar o que o desenvolvedor ou você deseja que seja executado quando você insere o CD. Ele procura um arquivo chamado autorun.inf na raiz do CD e segue as instruções contidas lá. Um autorun.inf básico é realmente muito simples de entender e criar, pois só contém duas informações. O exemplo abaixo mostra um autorun.inf simples, retirado do CD ROM Starcraft - Broodwar:
[autorun]
OPEN=SETUP.EXE
ICON=BW.ICO
* O que vem depois de "OPEN=" diz ao Windows o que deve ser executado.
* O que vem depois de "ICON=" diz ao Windows que ícone usar para representar o CD em Meu Computador ou no Explorer.
No caso, ao inserir o CD do Starcraft Broodwar é executado o arquivo setup.exe que está na raiz do CD e o disco é representado pelo ícone BW.ICO que também está na raiz.
É só isso! Basicamente isso é tudo o que você precisa saber para entender o AUTORUN do Windows como usuário. Abra o CD no explorer, procure o arquivo autorun.inf na raiz (se não estiver lá, o CD não tem AUTORUN), clique com o botão direito sobre ele e selecione ABRIR para dar uma olhada no seu conteúdo (abre no Notepad).
AUTORUN Avançado
Entretanto, se você tem gravador de CD talvez queira criar seus próprios arquivos autorun.inf e aí você pode se beneficiar de um conhecimento extra. Continue lendo!
O que acontece se o arquivo que você quer executar e o ícone não estão na raiz do CD também, como no exemplo acima? Você inclui nas declarações OPEN e ICON o caminho para o arquivo, lembrando que não faz sentido incluir a letra da unidade, como no exemplo abaixo, retirado do CD do Windows 98 SE:
[autorun]
OPEN=CDSAMPLE\AUTORUN\AUTORUN.EXE ICON=CDSAMPLE\AUTORUN\WIN98CD.ICO
O ícone e o executável podem estar até em diretórios diferentes. Não importa, desde que você faça as declarações OPEN e ICON de acordo.
Você pode estar pensando, pelos exemplos ateriores, que as declarações tem que estar inteiramente em maiúsculas para funcionar; mas não é esse o caso. Você pode reescrever o autorun.inf anterior assim:
[autorun]
open=cdsample\autorun\autorun.exe
icon=cdsample\autorun\win98cd.ico
e vai funcionar do mesmo jeito.
Sobre ícones
Se você não quiser ter um ícone próprio para representar o CD, não há problema. É só omitir a declaração ICON=, como no exemplo abaixo (exemplo do CD Almanaque Abril 98):
[autorun]
open=autorun.exe
e o CD será representado com o símbolo padrão do Windows 9x.
Quanto ao ícone, não é preciso tê-lo no CD em formato ICO, como nos exemplos até agora. Se sua aplicação tiver um ícone incorporado, você pode construir se autorun.inf assim (exemplo do jogo "The Phantom Menace"):
[autorun]
open=tpm.exe
icon=tpm.exe
aqui, o ícone para o CD será o mesmo ícone do programa, que fica embutido nele mesmo. O Windows sabe como proceder. Você também pode indicar um executável completamente diferente no CD e o windows pegará seu ícone para representar o CD.
ícones avançados
Alguns programas tem mais de um ícone embutido e alguns arquivos são realmente apenas bibliotecas de ícones. O Windows proporciona um modo de você escolher que ícone dentro do arquivo você deseja usar, usando um parâmetro na declaração ICON como no exemplo abaixo.
icon=shell32.dll,6
o resultado desse comando é que o Windows usará o sexto ícone presente em shell32.dll para representar o CD.
no exemplo que dei, usei um arquivo do próprio Windows que tem cerca de 80 ícones embutidos, mas você pode usar qualquer outro. Como no meu exemplo acima, nem é necessário incluir o caminho completo para o arquivo, se este estiver no PATH do seu sistema.
Para saber que ícones existem em um determinado arquivo, use um programa como o conhecidíssimo Microangelo ou o Jonesoft Icon Extractor (que eu recomendo por funcionar bem, ser pequeno _575KB descompactado_, não precisar de instalação e ser freeware).
Tenha em mente que o primeiro ícone de um arquivo é visto pelo Windows como ícone "0" (zero).
É isso gente... espero que tenham gostado...
See you
M1r4g3
Comment