No
Windows 9x XP OU VISTA, 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 9x 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).