Windows

Entenda e construa arquivos Autorun

Documento criado em 2000 e atualizado em 09/02/2006

Nota (09/02/2006): Provavelmente como medida anti-virus, não é possível ter AUTORUN em pen drives ou dispositivos semelhantes.

Você já deve saber que no Windows 95/98/ME/2000/XP, por default, quando você coloca um CD de música no drive ele começa a tocar sozinho; e quando você coloca um CD de dados um certo programa é executado automaticamente.

O esquema da execução automática se divide em AUTORUN (para CDs de dados) e AUTOPLAY (para CDs de áudio). Eu realmente não gosto do AUTORUN, mas não tenho nada contra o AUTOPLAY. No Win95/98 não é possível desligar um sem desligar o outro a não ser que você use programas extras como o PowerToys (gratuito, da própria MS).

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 usuário 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 de dados 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.

Apenas arquivos diretamente executáveis (EXE,COM e BAT) podem ser referenciados por AUTORUN.INF, mas você pode abrir outros tipos de arquivo, desde que saiba os macetes ou tenha as ferramentas.

É aí que entra em cena o AUTORUN.INF

Autorun.inf é um arquivo texto comum, que você pode (deve) criar e editar com o Notepad (Bloco de Notas);

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).

IMPORTANTE (20/03/2003)

Isso é conhecimento básico de Windows (se você já domina Windows, pode e deve pular isto aqui), mas me vejo obrigado a avisar: Se seu Explorer estiver configurado para “ocultar extensões de tipos de arquivo conhecidos” você poderá ver o arquivo Autorun.inf como simplesmente “autorun”. Pior: se existir um Autorun.EXE ele vai aparecer também como “Autorun” e se você tiver um Autorun.TXT ele também vai aparecer como “Autorun” e se você tiver um Autorun.BMP ele também (já está cansativo isto, né?) vai aparecer como “Autorun” e assim por diante (UFA!). Você vai ter dificuldade para distinguir quem é o EXE, o INF, o BMP e o TXT!

Pior ainda: você vai se atrapalhar ainda mais na hora de criar um Autorun.INF, porque o Bloco de Notas vai teimar em salvar como Autorun.INF.TXT e você nâo vai perceber isso. O Explorer vai ocultar a extensão .TXT de você, mas vai continuar sendo capaz de vê-la. Dessa forma o Autorun jamais vai funcionar.

Francamente, eu acho que ocultar as extensões de arquivos é algo muito estúpido, porém é assim que o Windows se instala. Na minha opinião, se seu computador está assim, você deveria mudar para que ele EXIBA todas as extensões. Não faz mal algum, facilita o diagnóstico de problemas e até evita os próprios problemas.

E para terminar de “lascar” com tudo, se seu sistema estiver configurado para não exibir arquivos ocultos e o desenvolvedor marcar seus arquivos como ocultos, nem sequer você vai “ver” autorun algum no CD.

AUTORUN Avançado

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 anterior? 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 seu 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,5

o resultado desse comando é que o Windows usará o sexto ícone presente em shell32.dll para representar o CD.

Tenha em mente que o primeiro ícone de um arquivo é visto pelo Windows como ícone “0″ (zero).

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).

Você sabia que…

… para cancelar o AUTORUN, basta apertar a tecla shift enquanto o CD estiver sendo carregado. Coloque o CD no drive, aperte a tecla shift e só a solte quando a atividade no drive de CDROM parar. Isso pode ser útil com aqueles CDs que tem um AUTORUN que leva uma eternidade para carregar e não tem nenhuma utilidade para você no momento (é por causa deles que eu não gosto de AUTORUN).

Leia em seguida:

Como Testar AUTORUN.INF (Sem gravar um CD)

Melhorando o AUTORUN

15 comments to Entenda e construa arquivos Autorun

Deixe uma resposta

  

   - O e-mail neste site serve apenas para que o blog possa lembrar que você já comentou antes. Não é usado como prova de identidade.)

  

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Siga as Regras de Participação, ou seu comentário será ignorado.