Secretos del Autorun.inf
(QR Code)Todos somos conscientes de esos CDS que nada mas meterlos en la Unidad de CD inician automáticamente alguna aplicación. Pero ¿Cómo lo hacen? He aquí la respuesta, el archivo “Autorun.inf”
El archivo en cuestión es un archivo de texto en el raíz del disco (también se puede usar para lápices USB, discos duros etc). Dentro de esta archivo de texto hay unas instrucciones que usa el Windows (desde Windows 95) para hacer lo que le digamos.
La primera línea del archivo contiene el texto “[Autorun]” que define una sección del archivo. Para aquellos que sepan un poco, tiene la misma estructura que los típicos archivos ini, donde por cada línea tenemos un par “Clave=valor” y que se pueden dividir en secciones de claves y valores con una línea “[NombreSeccion]”
Bien empecemos a ver los diferentes elementos que podemos tener, los dos mas típicos son “Icon” y “Open”.
La clave “Icon” indica la ruta al icono que aparecerá en lugar del típico icono de CD al insertarlo en la unidad, por supuesto la ruta al icono ha de ser relativa al lugar donde se encuentra el Archivo “Autorun.inf” puesto que no sabemos en que letra de unidad estará en CD en otros equipos. El Valor de la clave Icon puede ser un icono suelto, Ej.: “Icon=carpeta\miicono.ico”, o un icono dentro de un ejecutable, para ello después de la ruta al ejecutable especificaremos el icono que queremos usar, ya que un ejecutable puede contener mas de un icono, empezando por el 0 para el primer icono, Ej.: “Icon=carpeta\miexe.exe,0” esto especificaría el primer icono contenido dentro del ejecutable (0 es el icono por defecto).
La clave “open” es mas simple aun, y con las mismas condiciones de ruta que la "Icon" especifica la ruta a el ejecutable que queremos que se inicie al insertar el disco, Este ha de ser un ejecutable (exe, com, bat, hta, cmd,…)
Bueno y ahora empezamos con las claves menos conocidas, no la voy a poner todas pero si las que puedan ser mas útiles.
“UseAutoPlay”, sobre esta clave no he encontrado demasiada información para complementar, solo decir q toma los valores 0 o 1 y solo se reconoce en Windows XP o superior. Si se establece a 1, se usan las opciones de Autoplay V2, si es 0 no se usan tales opciones. No he encontrado mucha documentación sobre el tema, pero según la MSDN (que dice mas bien poco) tiene que ver con las nuevas opciones de auto detección de Windows XP (eso que te escanea el disco y escoge con que abrirlo o te muestra una lista)
“Shell” esta parámetro es un poco mas complicado, se trata de un sistema para establecer Verbos en el menú contextual del Disco (ya había hablado en un post anterior sobre los Verbos). Su primer uso es “Shell=Verbo” para establecer el Verbo por defecto del menú contextual.
Pero además podemos definir nuestros propios verbos, para definir los verbos tendremos que usar 2 líneas, una para definir la etiqueta asociada al Verbo en el menú contextual y otra para el comando que ejecutara dicho verbo. Para definir el Verbo se hará de la forma “Shell\NombreVerbo”, el nombre del verbo ha de ser único (no podemos tener 2 verbos iguales) y no puede contener espacios, acentos, ni otros caracteres especiales.
Ej:
Shell\AbrirNotepad=Abrir con el Notepad
Shell\AbrirNotepad\command=Notepad mitexto.txt
En estas líneas vemos que primero definimos el nombre que tendrá en el menú contextual y después con el añadido “\command” especificamos el comando a ejecutar para ese verbo. Podemos usar “&” para definir una tecla para el menú contextual (la típica letra subrayada de los menús a la que podemos acceder con ALT+<letra>). Para ello solo debemos poner “&” delante de la letra de la etiqueta que queramos usar.
Ej
Shell\AbrirNotepad=A&brir con el Notepad
Esto hará que ALT+b ejecute la operación de abrir con el Notepad.
Y por ultimo tenemos una Sección nueva, solo soportada por Windows XP o superiores.
Se trata de la sección “[DeviceInstall]” , esta nos permitirá especificar carpetas en las cuales se encuentran Drivers dentro de nuestro CD, de forma que el método “Buscar en unidades” del asistente búsqueda de nuevo hardware solo buscara en las carpetas que definamos, ignorando carpetas que sabemos que no contienen archivos útiles para la herramienta y haciendo la búsqueda mas rápida. Su uso es muy simple, solo hemos de poner un par clave=valor con la Clave “DriverPath” y como valor la ruta relativa en el CD para cada carpeta que queremos que examine.
Si no existe la sección DeviceInstall, el Asistente de hardware buscara en todo el disco, lo que puede ralentizar mucho en unidades con estructuras complejas (muchas carpetas y archivos)












Dentro del USB hice un archivo de nombre autorun.inf el cual lo tengo de solo lectura, los comandos “label” e “ico” funcionan bien pero el comando “open” para que me abra un archivo exe que lo que hace es abrir una simple ventana no funciona. El archivo Probando.exe ya está probado que funciona haciendo dobre clik en el con el explorador.
open=Probando.exe
¿Que pasa, tengo xp instalado?
17/07/2007 17:29
En las Unidades USB, Discos Fijos, unidades de red… No funciona para la mayoría de S.O. seg&úacute;n el antivirus o antiSpyWare que tengas instalado.
Ademas algunos antivirus detectan el Autorun.inf de los USB como un “trojan horse”.
También el XP SP2 me parece que tiene desactivado esta opción para los USB.
Y si desactivas el “Autorun” para CDS (cosa que por ejemplo te pide el Nero al instalar algunos de sus componentes) tampoco se inicia con los USB
17/07/2007 17:42
también puedes probar usando un BAT en lugar de un EXE para lanzarlo. Muchos anti spyware se lo saltan.
O usando “start”: ej:
Open = start miexe.exe
17/07/2007 17:44
Nueva documentación sobre el Autorun.inf
http://msdn2.microsoft.com/En-US/library/aa969327.aspx
17/07/2007 17:49
Hola:
Yo lo estoy usando desde un USB, y lo que quiero es que se ejecuten 2 aplicaciones cuando lo conecto, y no lo he logrado.
¿Es esto posible?
MUCHAS GRACIAS
03/10/2007 21:25
Para ejecutar dos aplicaciones al mismo tiempo hay varias opciones.
A) que crees una aplicación que lance ambas.
B) que una de las aplicaciones ejecute la otra (si es que la has echo tu).
C) lo mas “simple” es crear un archivo bat que lanza ambas aplicaciones, para que no se quede parado al lanzar una aplicación se debe usar el comando “start”.
Ej: para lanzar A.EXE y B.EXE se haria un archivo por ejemplo “start.bat” q contendría
start A.EXE
start B.EXE
y en el autorun pondrias
OPEN=start.bat
el cual lanzaría ambas aplicaciones.
04/10/2007 9:05
Hola solo kiero comentar q tambien existe la opcion “Label”
Este comando significa la etiqueta del dispositivo, (nombre del dispositivo). Si lo usas, no podran cambiar el nombre de tu USB.
Ejemplo:
[Autorun]
label=nombre de tu USB
icon=nombre de icono.ico
open=archivo.exe
Shell\1=texto a mostrar en el menu contextual
Shell\1\Command=archivo.exe
ShellExecute=archivo.exe
NOTA: en shell\1= el 1 representa la primera opcion q va a aparecer en tu menu contextual, pon lo q kieras en esa parte!
espero q les halla servido!!!
16/10/2007 4:45
Muchas gracias por tu aportación ElementDuSy!
16/10/2007 8:23
Hola ,estoy haciendo un dvd recopilatorio con varias peliculas de Star Wars(con un menu sencillo) y ,se me ha ocurrido la idea de que, al arrancar el dvd se cambie el cursor del raton por otro(de una espada laser
)..esto se podria hacer con el autorun??en caso de poderse,deberÃa revertirse el cambio al salir del dvd
Creo k se puede hacer algo con flash pero no estoy seguro
gracias
12/12/2007 7:50
No, esto no es posible directamente con el Autorun.inf. Si quieres que tu aplicación de menú tenga un cursor especial, lo que hay que cambiar es la propia aplicación de menú, solo posible, si la aplicación lo permite o, en caso de ser una aplicación que estés programando, Si el lenguaje lo permite (casi todos si).
12/12/2007 8:58