AutoIt

v3.0.102

©1999-2004 Jonathan Bennett & AutoIt Team

Página de AutoIt v3

Traducción: J. Sierra (Agosto 2004)

Documentación en Español

  • Introducción
  • Licencia
  • Directorio de Instalación
  • Preguntas Más Frecuentes (FAQ)
  • Créditos
  • Historial

Usando AutoIt

  • Ejecutando Scripts
  • Editores de script
  • Compilando Scripts
  • Ventana espía (AutoIt Window Spy)
  • Título y texto de ventana (Básico)
  • Títulos y texto de ventana (Avanzado)
  • Controles
  • Intento de Uso
  • Notas para usuarios de AutoIt v2

Referencia de Lenguaje

  • Tipos de datos
  • Variables
  • Macros
  • Operadores
  • Declaraciones condicionales
  • Ciclos
  • Funciones
  • Comentarios

Palabras claves

  • Referencia de palabras claves

Funciones

  • Referencia de funciones

Apéndice

  • Caracteres ASCII
  • CLSIDs de Directorios especiales
  • Splash... Fuentes
  • Valores @OSLang
  • Lista de teclas para Send


AutoIt

v3.0.102

©1999-2004 Jonathan Bennett & AutoIt Team

Página de AutoIt v3 (Homepage)

Introducción

AutoIt v3 es un lenguaje de escritura como BASIC diseñado para automatizar en Windows GUI(Interfaz Gráfica de Usuario). Usa una combinación de teclas simuladas, movimientos de mouse y manipulación de ventana/control para automatizar tareas de una manera no posible o legible con otros lenguajes (como VBScript y SendKeys).

AutoIt inicialmente fue diseñado para situaciones de "roles" de PC, como configurar cientos de computadoras, pero con la llegada de la versión 3 esto es más confortable para realizar tareas de automatización caseras y la escritura de tareas repetitivas.

AutoIt puede:

  • Ejecutar ejecutables de Windows y DOS
  • Simular teclas (soporta la mayoría de tipos teclados)
  • Simula movimientos de mouse y clicks
  • Mueve, reajusta y manipula ventanas
  • Interactúa directamente con los "controles" en una ventana (fijar/obtener texto, mover, desactivare, etc.)
  • Trabaja con el portapapeles (clipboard) para cortar/pegar ítems de texto
  • Trabaja con el registro

Diferente a AutoIt v2, el nuevo lenguaje v3 tiene mucha más sintaxis estándar - similar a VBScript y BASIC - y ahora soporta expresiones complejas, funciones de usuario, ciclos y cada cosa que los veteranos scripters pudieran esperar.

Como versiones anteriores, AutoIt ha sido diseñado para ser lo más pequeño posible (~80KB) y un ejecutable (stand-alone) sin librerías DLL externas o entradas de registro requeridas. Los scripts pueden ser compilados como ejecutables con Aut2Exe.

Existe ya versiones para ActiveX y DLL de AutoIt llamado AutoItX3 - diferente a v2 este será un control combinado (COM y funciones estándares en el mismo DLL). AutoItX3 permitirá agregar las características únicas de AutoIt a tus lenguajes de programación/escritura favoritas! (AutoItX3 actualmente está en prueba (beta), los archivos pueden bajarse de aquí).

Los mejor de todo, AutoIt continúa siendo LIBRE - pero si desea apoyar en tiempo, dinero y esfuerzo agotado en el proyecto y webhosting, puede ser donado a la página oficial de AutoIt (homepage).

Novedades?

v3 tiene una sintaxis completamente diferente a v2.64 así viejos scripts no son compatibles. Aunque, la v2.64 continúa siendo descargable y soportada. Ambos AutoIt v3 y v2.64 puede ser instalados en la misma máquina juntos sin ningún problema y mantener así los antiguos scripts intactos. v2 usa la extensión como .aut y v3 usa .au3. Aquí cuando se necesita reescribir script v2.64 para v3.

v3 tiene los mismos conceptos como las versiones anteriores con títulos de ventanas y texto, teclado y simulación de mouse pero tiene muchas más características:

Controles

Directamente obtiene información e interactúa con cajas de edición (edit boxes), check boxes, listas (list boxes), combos, botones, barras de estado sin usar teclas. También trabaja con controles en ventanas que no están activas!

Actualizaciones de Lenguaje

Números "Apropiados", ilimitado-ancho de cadenas de texto, expresiones complejas, instrucciones if, selección, ciclos while, ciclos for, ciclo do, funciones, arreglos, excelente manejo de cadenas (más de 25 funciones!) - la lista sigue. Cada cosa que usted necesita para automatizar rutinas fácilmente. Si, este es un lenguaje de automatización GUI pero la sintaxis de v3 es mejor usada para propósitos generales. Versiones anteriores de AutoIt fueron referidas como "lenguaje no apropiado". No algo más.

Simulación de Teclas y Mouse

Mucho tiempo se ahorra optimizando con las funciones de simulación de mouse y teclado para ser exacto como posible en todos los sistemas operativos actuales. Las funciones de mouse también se ven más "humanas" en esta versión y se pueden usar para crear una demostración astuta. Todas las rutinas de mouse y teclado son altamente configurables en términos de simulación "velocidad" y funcionalidad.

Manejo de Ventanas

En adición a la manera de v2 "título/texto" es posible acceder a sus nombre de clase (classnames) y manipuladores. Como es usual de esperar a mover, ocultar, mostrar, reajustar, activar, cerrar.

Y mucho, mucho más.


License

Licencia de Software (versión original)

OVERVIEW
========

AutoIt is copyrighted software distributed under the terms
of the GNU General Public License (hereinafter the "GPL").

The stub (AutoItSC.bin) which is imbedded in each AutoIt compiled
script is part of AutoIt, and contains code that is under our copyright.
The terms of the GNU General Public License still apply as compiling
a script is a special form of linking with our stub.

As a special exception we grant the free usage of AutoIt compiled
scripts, including commercial programs.
See below for details and restrictions.

COPYRIGHT
=========

AutoIt is copyrighted software. All rights remain with the authors.

AutoIt is Copyright (C)1999-2004 Jonathan Bennett & the AutoIt team.

GNU GENERAL PUBLIC LICENSE
==========================

AutoIt is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

AutoIt is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.txt.

SPECIAL EXCEPTION FOR COMPILED EXECUTABLES
==========================================

The stub (AutoItSC.bin) which is imbedded in each AutoIt compiled
script is part of AutoIt, and contains code that is under our copyright.
The terms of the GNU General Public License still apply as compiling
a script is a special form of linking with our stub.

Jonathan Bennett and the AutoIt team grant you special permission to
freely use and distribute all AutoIt compiled scripts (including
commercial ones), subject to the following restrictions:

1. You must compile your script with a completely unmodified AutoIt
version; either with our precompiled version, or (at your option)
with a self compiled version of the unmodified AutoIt sources as
distributed by us.
2. This also implies that the AutoIt stub must be completely unmodified
(with the exception of the stub file version information that you MAY
modify if you wish).

ANNOTATIONS
===========

- You can use a modified AutoIt version or modified AutoIt stub only for
programs that are compatible with the GNU General Public License.

- We grant you special permission to freely use and distribute all AutoIt
compiled programs.

- You can integrate all or part of AutoIt into projects that are compatible
with the GNU GPL, but obviously you cannot grant any special exceptions
beyond the GPL for our code in your project.

Jonathan Bennett
support@hiddensoft.com

25 March 2004


Install Directory Structure

Estructura del folder de instalación

Esta es una breve explicación de algunos de los archivos guardados en el folder de instalación de AutoIt (usualmente localizado en \Program Files\AutoIt3)

Archivos y directorios | Descripción
AutoIt3.exe | El programa principal de AutoIt (este es el único archivo requerido para ejecutar los scripts)
AU3_Spy.exe | Herramienta AutoIt Window Spy
AutoIt.chm | Ayuda
PSAPI.DLL* | Para usar las funciones Process...() - sólo bajo Windows NT 4 es requerido (archivo de Microsoft)
\ Include | Archivos "include" (funciones pre-escritas de usuario - ver Funciones de Librería)
\ Icons | Los iconos usados para el archivo tipo .au3
\ Aut2Exe | Componentes de AutoIt Script Compiler
\ Aut2Exe \ Aut2Exe.exe | Compilador de script
\ Aut2Exe \ AutoItSC.bin | Código del ejecutable para archivos compilados
\ Aut2Exe \ upx.exe | Compresor UPX
\ Aut2Exe \ Icons | Iconos para usar en compilación
\ Examples | Archivos de ejemplos de AutoIt
\ Extra | Archivos misceláneos / contribuciones para conveniencia
\ Extra \ Exe2Aut | Decompila scripts compilados (".exe" a ".au3")
\ Extra \ v2_to_v3_Converter | Un convertidor de v2.64 a un script v3
\ Extra \ Editors | Archivos de sintaxis para editores (y su auto-instalación)

Para ejecutar scripts sólo es requerido el archivo AutoIt3.exe. Si un archivo es compilado el usuario no requiere de AutoIt, para ejecutar el compilado.

* (excepción: Bajo Windows NT 4 el archivo PSAPI.dll necesita estar en el directorio de AutoIt par la funciones de Process...() )


AutoIt

Preguntas Más Frecuentes (FAQ)

Esta sección da algunas de las preguntas más frecuentes de el foro. Si no encontró la respuesta que buscaba aquí, entonces visite el foro sería el primer lugar para buscar una respuesta.

Preguntas

1. Porqué mi AutoIt v2.64 no ejecuta un script en v3?

2. Es más difícil la versión 3, que las versiones anteriores?

3. Cómo puedo convertir mi script de v2.64 a v3?

4. Dónde está el comando "goto"?

5. Cómo puedo ejecutar un programa de DOS desde AutoIt?

6. Porqué sólo usar Run() para ejecutar archivos .exe y .com? Qué sobre otros como .msi / .txt?

7. Porqué obtengo errores cuando intento usar doble comillas (") ?

8. Qué significan los parámetros de ventana "título" y "texto"?

9. Porqué no puedo imprimir una variable usando "Mi var es $variable"?

10. Cuando uso Send() para enviar una variable algo raro pasa.

11. Qué diferencia hay entre devolver un valor y un @error?

12. Cómo puedo salir de mi script con un hot-key?

13. Cómo cambio el ícono cuando compilo mis scripts?

14. Cómo puedo asegurarme que sólo una copia de mi script está en ejecución?

15. Cuáles con los límites técnicos actuales de AutoIt v3?

1. Porqué mi viejo script de AutoIt v2.64 no se ejecuta en v3?

v3 tiene un lenguaje de estructura diferente a v2.64.

Versiones anteriores de AutoIt estuvieron bien para lo que fueron creadas - escribiendo simples scripts para ayudar con las instalaciones de software. Pero entre más gente ha empezado a usarlo para tareas complejas. La vieja sintaxis y estructura podía hacer esto pero de una manera difícil y engorrosa. La decisión se hizo para crear un AutoIt más adecuado para tareas de automatización en general y lograr que lenguaje estándar como basic fué hecho. Esto también significa que si ya conoces algún lenguaje puedas iniciar con AutoIt v3 fácilmente.

Regresar arriba

2. La v3 no es más difícil que las versiones anteriores?

No. De hecho muchas instancias es mucho más fácil que versiones anteriores como intentar y forzar al lenguaje a hacer cosas que nunca se diseñaron que hiciera. Es muy familiar con el lenguaje BASIC, y BASIC es conocido como bien básico :)

La vasta mayoría de scripts de AutoIt están enfocados alrededor de la instalación de software y clickear muchas veces un "Próximo" en las cajas de diálogo. Muchos de estos scripts pueden ser convertidos a v3 simplemente agregando unas cuantas llaves/paréntesis aquí y allá. Aquí hay un ejemplo de un script en v2 y v3 (simulando una instalación de software con algunos diálogos que tienen el botón Siguiente y un botón de F inalizar)

; v2.64 Script
WinWaitActive, Welcome, Welcome to the XSoft installation
Send, !s
WinWaitActive, Choose Destination, Please choose the
Send, !s
WinWaitActive, Ready to install, Click Next to install
Send, !s
WinWaitActive, Installation Complete, Click Finish to exit
Send, !s
WinWaitClose, Installation Complete

; v3 Script
WinWaitActive("Welcome", "Welcome to the XSoft installation")
Send("!s")
WinWaitActive("Choose Destination", "Please choose the")
Send("!s")
WinWaitActive("Ready to install", "Click Next to install")
Send("!s")
WinWaitActive("Installation Complete", "Click Finish to exit")
Send("!f")
WinWaitClose("Installation Complete")

Ahora, eso no está mal! :) Como todos las "cadenas de texto" están encerradas en comillas no hay problema con espacios antes y después del texto. Esto es excelente para muchos editores de texto, así que al escribir scripts v3, puedes tener sintaxis remarcada que lo hace mucho mejor y fácil.

Regresar arriba

3. Cómo puedo convertir mis scripts v2.64 a v3?

La primera cosa que se debería preguntar es "Sería necesario convertir mi script?". v2.64 continuará siendo descargable y soportado :)

Hay una sección en el archivo de ayuda que muestra y compara ciertas equivalencias entra comandos de ambas versiones (v2 y v3) - click aquí para ver la página.

Uno de los autores de AutoIt v3 escribió una utilidad que automáticamente convierte scripts de v2 a scripts de v3. La conversión es muy buena a menos que tu código contenga rarezas con el anidamiento de "gotos" :) Puedes encontrar el convertidor en el directorio de "Extras" (Inicio \ AutoIt v3 \ Extras - o revisa en el directorio de AutoIt v3).

Regresar arriba

4. Donde está el comando "goto"?

No existe más. Este viene a ser reemplazado por las funciones y ciclos que contiene AutoIt v3, y con estos Goto deja de ser requerido. Para más información de la moderna manera de hacer esto, vea: While, Do, For, ExitLoop, ContinueLoop y Funciones :) Y mientras veas en la secciones de ayuda revisa estos ciclos, declaraciones condicionales y funciones. Una vez que manejes estas cosas seguramente será más fácil escribir virtualmente en algún otro lenguaje.

Este es un ejemplo básico usando Goto en la versión 2.64 con ciclo infinito:

:mylabel
...do something...

...and something else...
goto, mylabel

El mismo ejemplo en versión 3 con un ciclo While que siempre es "verdadero".

While 1 = 1
...do something...
...do something else...
Wend

Regresar arriba

5. Cómo ejecutar un programa de DOS dentro de AutoIt?

Si quieres ejecutar algo como el comando "DIR" de DOS, ejecutando el intérprete de comandos (command.com o cmd.exe dependiendo tu SO). La macro @Comspec contiene la localización correcta de este archivo. Puedes usar la función RunWait() para esperar que finalice como en DOS antes de continuar con la próxima línea del script. Aquí hay un ejemplo de ejecución con el comando "DIR" de DOS en la unidad C: (efectivamente ejecutando el comando command.com /c Dir C:\ )

RunWait(@COMSPEC & " /c Dir C:\")

Regresar arriba

6. Porqué sólo se usa Run() para ejecutar archivos .exe? Qué sobre otros como .msi / .txt?

Sólo pocas extensiones con usualmente "ejecutables" - como ser .exe, .bat, .com, .pif. Otros tipos de archivos como .txt y .msi son actualmente ejecutados con otros programas. Cuando haces un doble "click" en un archivo "myfile.msi" (por ejemplo) lo que actualmente pasa es que es ejecutado así "msiexec.exe myfile.msi". Así que para ejecutar un archivo .msi desde AutoIt puedes hacer esto:

RunWait("msiexec myfile.msi")

O, la manera simple del comando "start" de DOS que abre el archivo con el ejecutable que está registrado en el sistema:

RunWait(@COMSPEC " /c Start myfile.msi")

Regresar arriba

7. Porqué obtengo errores cuando intento usar doble comillas (") ?

Si quieres usar doble-comillas dentro de una cadena de texto: Duplicas las comillas dentro o utilizas la comilla simple (apóstrofe). Por ejemplo: Una palabra en "esta" oración tiene comillas alrededor! Puedes hacer esto:

$var = "Una palabra en ""esta"" oración tiene comillas alrededor!"

o usa comillas simples al principio y final:

$var = 'Una palabra en "esta" oración tiene comillas alrededor!'

Regresar arriba

8. Qué significan los parámetros de ventana "título" y "texto"?

Aquí hay una detallada descripción.

Regresar arriba

9. Porqué no puedo mostrar una variable usando "Mi var es $variable"?

Si tiene una variable llamada $msg y quieres mostrarlo dentro de un MsgBox como esto:

MsgBox(0, "Ejemplo", "Mi variable es $msg")

Esto muestra Mi variable es $msg . Lo que necesitas hacer es concatenar la variable con la cadena de texto con la variable juntos usando el operador & ampersand:

MsgBox(0, "Ejemplo", "Mi variable es " & $msg)

Avanzado: Si se tiene muchas variables al agregar una cadena de texto tal vez sea necesario usar la función StringFormat()l. Por ejemplo, si quería insertar $var1 a $var5 en una cadena de texto :

$msg = StringFormat("Var1 es %s, Var2 es %s, Var3 es %s, Var4 es %s, Var5 es %s", $var1, $var2, $var3, $var4, $var5)

Regresar arriba

10. Cuando yo uso Send() para enviar una variable algo raro pasa.

Si estás enviando el contenido de una variable hay que tener en mente los caracteres especiales como ! ^ + {SPACE} que son simulados de manera diferente. Para no enviar teclas especiales puede usar el modo RAW para la función Send():

Send($myvar, 1)

Regresar arriba

11. Qué diferencia hay entre devolver un valor y un @error?

Generalmente devolver un valor es usado para indicar la completacion de una función. Pero, si una función ya está devolviendo algo ( como WinGetText() ) luego necesitamos una manera de saber si la función finalizó correctamente, así es usado @error.

Regresar arriba

12. Cómo puedo salir de mi script con un hot-key?

Ah, una fácil. Si quieres hacer un script que se salga al presionar cierta combinación de teclas, al usar la función HotKeySet() hace una llamada de función de usuario al presionar teclas. Esta función debería solamente contener la palabra clave Exit.

Aquí un ejemplo de código que causará que la presionar CTRL+ALT+x el script terminará:

HotKeySet("^!x", "MyExit")
...
...
; Resto del Script
...
...
Func MyExit()
Exit
EndFunc

Regresar arriba

13. Cómo cambio el ícono cuando compilo mis scripts?

Necesitas ejecutar el programa de compilación (diferente a que sólo dar click-derecho sobre el script, seleccionando compilar). Esta página describe detalladamente el compilador.

Regresar arriba

14. Cómo puedo asegurarme que sólo una copia de mi script está en ejecución?

La manera fácil es renombrar el título de la ventana oculta de AutoIt cuando el script inicia. Luego revisar si existe tal título- o si es otra copia que está en ejecución.

; Poner al inicio del script
$g_szVersion = "My Script 1.1"
If WinExists($g_szVersion) Then Exit ; Ya está en ejecución
AutoItWinSetTitle($g_szVersion)
; El Resto de tu script va acá

Regresar arriba

15. Cuáles con los límites técnicos actuales de AutoIt v3?

Longitud por línea de script: 4,095
Longitud de cadena de texto: 2,147,483,647 caracteres

Rango de número: 1.7E–308 a 1.7E+308 con precisión de 15-dígit
Números Hexadecimales: Entero de 32-bit signados (0x80000000 a 0x7FFFFFFF)

Arreglos: 64 dimensiones y/o un total de 16 millones de elementos
Profundidad de llamadas recursivas: 384 niveles

Archivos abiertos simultánemente: 64
Hotkeys activos simultánemente: 64

Número máximo de variables en uso a la vez: Sin límite
Número máximo de funciones de usuario en uso a la vez: Sin límite

Regresar arriba


Notas

NOTAS DE TRADUCTOR

Este archivo de ayuda es una traducción literal de la documentación de la versión Inglés de AutoItv3 (Original). El propósito del mismo es ser una referencia para los usuarios de habla hispana para el uso del útil AutoIt. Cualquier pregunta no abarcada en esta ayuda puedes recurrir al foro(Inglés) de AutoIt. Cualquier pregunta, comentario, sugerencia (como sintáxis) sobre este archivo de ayuda, es bienvenido. ;-)

J. Sierra (au3files@yahoo.com)

TÉRMINOS

Es importante mencionar que hay muchos términos usados en esta ayuda que necesitan un poco de conocimiento básico en programación. En general, aquí se muestran algunos ejemplos:

UDF: Función Definida de Usuario (User Defined Function), término comúnmente usado para referirse a la librería de funciones personalizadas de usuarios, en este caso de AutoIt. Ver Librería.

Scripts: (Literal del inglés) Archivos de texto que contienen una o más rutinas/funciones de AutoIt para automatizar tareas. Su extensión es conocida como ".au3".

Cadena de texto: (String) Bloque de texto encerrado entre comillas o apóstrofes. Ejemplo: "soy una cadena de texto" o 'también'.

Compilar: Acción de convertir un archivo de lectura entendible a un archivo ejecutable [*.exe] (lenguaje máquina). Este tipo de archivos (*.exe) es independiente del archivo "AutoIt.exe" cuando ya es compilado.

Para ver más sobre términos como macros, tipos de datos, ver aquí.


Running Scripts

Ejecutando Scripts

Cuando se ejecuta AutoIt, pregunta por un archivo script para ser abierto. Un archivo script es un archivo simple de texto que contiene palabras claves y funciones de AutoIt que indican instrucciones. Estos archivos pueden ser editados en un editor simple como notepad.exe o uno mejor como alternativa.

Los scripts de AutoIt v3 usualmente llevan la extensión .au3 en el archivo y ayudan a diferenciar entre un archivo de texto y un script. Si has instalado AutoIt, puedes ejecutar un script con un doble-click nada más. Hay también otras opciones como Abrir, editar, o compilar un script, haciendo click-derecho sobre el archivo con extensión .au3.

Un ejemplo, ; el punto y coma es usado para comentarios (como REM en un archivo de lotes de DOS):

; Mi primer script
MsgBox(0, "Mi primer script!", "Hola Mundo!")

Scripts más complicados pueden usar funciones que normalmente van al final del script. Ejemplo:

; Este es mi segundo script (con funciones)
MsgBox(0, "Mi segundo script!", "Hola este es el script principal!")
TestFunc()

Func TestFunc()
MsgBox(0, "Mi Segundo Script!", "Hola desde las funciones!")
EndFunc

Parámetros de Línea de Comandos

El arreglo especial $CmdLine es inicializado con la línea de comandos pasado en un script de AutoIt. Nótese que el nombre del script no está clasificado como parámetro; esta información se obtiene con @ScriptName. Un parámetro que contiene espacios es escrito con "doble comillas". Scripts compilados aceptan parámetros de la línea de comandos.

$CmdLine[0] contiene el número de parámetros
$CmdLine[1] es param 1 (después del nombre del script)
$CmdLine[2] es param 2 etc
...
$CmdLine[$CmdLine[0]] es una forma de obtener el último parámetro...

Un ejemplo y los valores obtenidos en variables:

AutoIt3.exe myscript.au3 param1 "este es otro parametro"

$CmdLine[0] igual a... 2

$CmdLine[1] igual a... "param"

$CmdLine[2] igual a... "este es otro param"

@ScriptName igual a... "myscript.au3"

En adición a $CmdLine hay una variable llamada $CmdLineRaw que contiene la línea entera de comando sin divisiones, así que el ejemplo de arriba daría como resultado:

$CmdLineRaw igual a... AutoIt3.exe myscript.au3 param1 "este es otro param"


Compiling Scripts with Aut2Exe

Compilando Scripts con Aut2Exe

Es posible compilar un script .au3 (archivo *.au3) en un ejecutable estándar; este ejecutable puede ser usado sin necesitar de que AutoIt esté instalado y sin necesitar tener AutoIt3.exe en la máquina. El script puede ser compilado, comprimido y encriptado y existe la opción de adjuntar archivos adicionales (también comprimidos/encriptados) al *.exe usando la función FileInstall. También, algunos archivos de #include serán compilados en el script, así que no son requeridos en tiempo-real.

Aut2Exe puede ser usado en tres maneras:

Método 1 - Menú de Inicio

Sólo disponible si es realizada una instalación completa.

1. Abra en el menú de Inicio y busque el grupo de AutoIt v3.

2. Dele Click en Script Compiler \ Convert .au3 to .exe

3. La interfaz principal de Aut2Exe aparecería así.

4. Use los botones Browse par seleccionar los archivos de entradas (.au3) y salidas (.exe).

5. Si desea cambiar el ícono para el .exe - sólo busque un ícono que desee (hay varios ejemplos que son suplidos en Program Files\AutoIt3\Aut2Exe\Icons).

6. Si no desea disponer que el script pueda ser decompilado (cuando el decompilador esté disponible) entonces escriba una contraseña.

7. Sólo la otra opción puede cambiar el nivel de compresión (especialmente si se usa FileInstall al agregar archivos extra). Use en el menú de Compression para fijar según se desee. Como todas las rutinas de compresión, la mejor compresión que es seleccionada es más lenta. Aunque, no afecta el nivel de compresión al seleccionar velocidad de decompresión (cuando el .exe es ejecutado), al fin es el mismo.

8. Clickee en Convert para compilar el script.

Método 2 - Click derecho

Sólo disponible si es realizada una instalación completa.

1. En el Explorer busque el archivo .au3 a compilar.

2. Dele Click-derecho al archivo para accesar al menú.

3. El archivo será compilado silenciosamente con el mismo nombre - sólo que con extensión de .exe.

La configuración fijada de compresión/ícono es igual como se usó la última vez como en el método 1.

Método 3 - La línea de Comando

El programa Aut2Exe.exe será ejecutado de la línea de comandos así:

Aut2exe.exe /in <archivofuente.au3> [/out <archivo-salida.exe>][/icon <icono.ico>][/pass <contraseña>]

Archivo con nombres largos serían encerrados con doble-comillas como "C:\Program Files\Test\test.au3". Si no se especifica un archivo de salida, es generado con el mismo nombre de el archivo fuente con la extensión .exe.

Detalles técnicos

El script compilado y archivos adicionales agregados con FileInstall son comprimidos con el esquema de compresión LZSS/Huffman de Jon (autor de AutoIt). La compresión lograda es similar a la de WinZip en la mayoría de archivos y un poco mejor en archivos grandes.

Porque un script compilado corre por sí mismo sin una contraseña, no es necesitada una contraseña para de-encriptarlo - i.e. la protección es de dos-maneras. Por esta razón sería mejor que el archivo compilado fuera codificado para completa seguridad de script. Por ejemplo, si se escribe un script que contiene un nombre de usuario y contraseña (para una tarea de escritorio, por decir algo) que se usaría como en un nivel de estación de trabajo (workstation) con usuario/contraseña estaría bien, pero no se consideraría seguro en una red entera a menos que el usuario no tenga acceso al archivo *.exe.


AU3 Spy

Espía de ventanas (AutoIt Window Spy de AutoIt)

AutoIt v3 viene con una herramienta independiente llamada AutoIt Window Spy (Program Files\AutoIt3\AU3_Spy.exe). Esta herramienta reemplaza el modo "/reveal" usado en versiones anteriores de AutoIt (AutoIt v2).

AutoIt Window Spy permite obtener información de una ventana específica que puede ser usada efectivamente par automatizarlo.

La Información que puede obtenerse incluye:

  • Título de ventana
  • Texto en la ventana (visible/oculta)
  • Posición de ventana / tamaño
  • Contiene la barra de estado
  • Posición del puntero
  • Colores de los pixeles debajo del puntero del mouse
  • Nombre del Control debajo del cursor de mouse

Para usar AU3Spy sólo es necesario ejecutarlo (de la línea de comandos en el Menú de Inicio). AU3Spy esperará por la ventana en modo "Siempre en frente" todas las veces que pueda ser leído. Una vez activo mueva la ventana específica y luego la activa - el contenido de AU3Spy puede cambiar para mostrar que variables están disponibles.

Cuando AU3Spy está ejecutándose y tal vez quiere copiar el texto directamente usando CTRL-C y pegándolo en su script para evitar errores de escritura/caso sensitivo. Este puede ser difícil cuando se quiere capturar información de pixel/mouse por su constante cambio. Para solucionar esto, es posible "congelar" la salida de info de AU3Spy presionando CTRL-ALT-F. Presionando las mismas teclas nuevamente se "decongelará".

Aquí un ejemplo de AU3Spy en uso con el Editor "Write" de Windows:


Window Titles and Text (Basic)

Títulos de ventanas y Texto (Básico)

Cuando se automatiza, muchas ventanas se identican por su título o combinación de título & texto. Y usando AutoIt Window Spy se obtiene esta información. Los títulos de muchas ventanas son muy obvias, por ejemplo Untitled - Notepad es el título del editor notepad.exe y en muchos casos, es lo necesario para automatizar.

Nota: Si una cadena de texto vacía "" es dada para ambos título and texto la ventana actual activa será usada (esto no sucede en casos de modos avanzados de WinTitleMatchModes)!

Títulos y texto son caso sensitivo. Se debe ser exacto con la puntuación. Para evitar problemas de título/texto use Window Spy y luego presionar ctrl-c para copiarlo y pegarlo directamente en el script.

Muchas de las funciones de ventana de AutoIt tiene entradas para un título y texto, aquí la función WinWaitActive. Esta función pausa la ejecución del script hasta que la ventana especificada aparece y esté activa.

WinWaitActive ( "título", ["texto"], [intérvalo] )

título es sólo el parámetro requerido para esta función, ambos texto e intérvalo son opcionales. En algunas funciones el parámetro texto no es opcional, si no se desea especificar algún texto sólo use "" (texto nulo). Una cadena de texto en vacío o nula, o nada a todo, en el texto refiere a AutoIt que, cualquier texto es válido.

Para usar la función de arriba con la ventana notepad(Bloc de Notas) ambos de éstos métodos pueden funcionar:

WinWaitActive("Untitled - Notepad")

y

WinWaitActive("Untitled - Notepad", "")

Si en la misma ventana de notepad tiene escrita "This is a line of text" en la ventana, el Window Spy mostraría:

Nota que Window Spy tiene visto el título y texto de la ventana de notepad. Cualquiera de Window Spy puede ver lo que AutoIt puede ver. Ahora que nosotros tenemos suficiente información exacta de esta ventana para identificarla, si hubieran otras ventanas de abiertas, se escribiría:

WinWaitActive("Untitled - Notepad", "This is a line of text")

Texto de Ventana

El texto de ventana consiste en todo el texto que AutoIt puede "ver". Usualmente las cosas, como el contenido de los controles de edición (como el ejemplo de arriba con "This is a line of text") pero también se puede incluir otro texto como:

  • Texto de botón como &Yes, &No, &Next (el & (ampersand) indica la letra subrayada)
  • Texto de diólogo como "Desea continuar?"
  • Texto de control
  • Texto misc. - cuando algunas veces no se sabe que hay :)

Lo importante es se puede identificar una ventana como única.

Cuando específica el parámtro de texto en la ventana en una función de ventana es tratado como sub-cadena. Así, el ejemplo de arriba sería "line of" si se usa el texto "is a line of" .

Este modo descrito es el modo por defecto que AutoIt opera en el, hay un número de más modos avanzados para usar las cosas que no son simple como ésta.


Window Titles and Text (Advanced)

Títulos de Ventana y Texto (Avanzado)

AutoIt opera en una de cuatro modos "Window matching"(Igualado a ventana). Los modos son fijados con la función AutoItSetOption usando la opción de WinTitleMatchMode.

Modo 1 (por defecto)

Iguala parcialmente títulos del principio.

En este modo la ventana titulada Untitled - Notepad podría ser correspondida por "Untitled - Notepad", "Untitled", "Un", etc.

ejem.

WinWait("Untitled")

Modo 2

Iguala a alguna cadena de texto en el título.

En este modo una ventana titualda Untitled - Notepad podría corresponder por "Untitled - Notepad", "Untitled", "Notepad", "pad", etc.

ejem.

WinWait("Notepad")

Modo 3

Exactamente como el título.

En este modo en una ventana titulada Untitled - Notepad podría ser corresponder únicamente como "Untitled - Notepad"

Modo 4

Modo avanzado.

En este modo especial las secuencias son usadas en el parámetro de título así que classnames de ventanas y handles pueden ser usados. El parámetro de texto igual.

Las secuencias especiales no contienen espacios en blanco. Son como:

"classname=CLASSNAME"

"handle=HANDLE"

"active"

"last" o ""

Por ejemplo cuando está en modo 4 y se quiere identificar una ventana que tiene un classname(nombre de clase) "MYCLASS1" usaría "classname=MYCLASS1" para el parámetro de título. Cuando se está usando un apuntador(handle) se debe usar la función WinGetHandle para que devuelva el valor que será usado (ver ejemplo de función).

"active" igual a la ventana activa (igual como "" por defecto en WinTitleMatchMode).

"last" usa la última ventana correspondida así no se necesitaría especificar el título y texto nuevamente. ejem.

AutoItSetOption("WinTitleMatchMode", 4)

WinWaitActive("Untitled - Notepad")

WinClose("last") ; Cierra la ventana previa de notepad

Note: Si un "classname=", "handle=", "active", "last" o "" no son usados como título entonces la ventana que corresponde toma el lugar como en Modo 1 haciendo esto un buen modo para uso general.


Controls

Controles

Uno de las mejores caract. nuevas de AutoIt v3 es la habilidad de trabajar directamente con ciertos tipos de controles de ventana. Casi cada cosa vista en una ventana es un control ya sea de tipo: botón, caja de lista, campos de edición, textos estáticos son todos controles. Por ejemplo, Notepad es justamente un gran control de "Edit"! Porque AutoIt trabaja directamente con un control, una forma de proveer una vía de automatizar más real al envíar teclas.

Nota: AutoIt sólo trabaja con los controles estándares de Microsoft - algunas aplicaciones traen sus propios tipos de control que pareciera un control MS, pero tal vez la automatización lo resista.

Usando AutoIt Window Spy tú puedes mover el mouse(ratón) alrededor de la ventana y obtener info. de controles dentro de esa ventana según se mueva el mouse. La información de los controles es dada como un "classnameNN" que dada un classname interno de el control es seguida por una instancia. Una simple caja de diálogo con algunos botones generalmente son referidos como "Button1", "Button2", "Button3", etc.

TIP: Usa la ventana Spy para ver los controles sobre el compilador de AutoIt - contiene controles "Button" "Static" and "Edit" y como buena práctica.

Window Spy obtiene el texto visto en un control, por ejemplo en un botón Next normalmente se ve &Next - & indicate que es la próxima letra subrayada para activar. Este texto es usado para identificar el control, si existiesen varios iguales habrá seguramente problemas.

Para ver una lista de funciones que trabajan con controles ver Referencia de función \Manejo de ventana \ Controles.


Intended Use

Intento de Uso

Este programa es intentado para uso de realizar tareas de automatización GUI en Windows. No intenta como "ser-todo y fin-de-todo" de la escritura de rutinas. Cuando se realiza tareas complejas (manipulación de registro, revisión de archivo de texto, ciclos complejos , etc.) Yo recomendaría usar AutoIt en conjunción con un lenguaje <<fully-fledged scripting language>> (tal como WSH o Kixtart - ambos gratis) y usando AutoIt para "rellenar los huecos".

Yo personalmente uso AutoIt para grandes tareas de PC. Y uso Kixtart/WSH para compleja utilización/COM y al usarlo llamo a AutoIt (o AutoItX/AutoItDLL) cuando necesito realizar configuraciones que sólo pueden ser usualmente terminadas por la entrada manual de datos (instalación de software, configurando el panel de control, cambiando las letras de unidad, enviando teclas y clicks de el mouse, etc.).

Aunque, hay muchas formas de usar AutoIt es usado como escritura general programada (y con la versión 3 esta es mucho más realística) y con lo que estoy feliz. :)

- Jon (autor de AutoIt)


Help for AutoIt v2 users

Notas para usuarios familiarizados con AutoIt 2.64

Aparte del concepto de ventanas y teclas, AutoIt v3 es más diferente a v2.64 y versiones anteriores de AutoIt. v2.64 continuará estando disponible para descargar y hay unas razones porqué los usuarios pudieran convertir sus scripts (if it ain't broke, etc.). Sin embargo v3 tiene muchas nuevas y mejores características para hacer una automatización GUI más fácil que antes, y viene siendo mejor en términos de lenguaje.

Cuando inicias usando v3 lo siguiente pudiera ayudarte a comprender mejor. Existe un convertidor de v2.64 a v3 script, decargable en la página de AutoIt.

- Dobles contraplecas no son necesitadas. Sin embargo, las comillas son una nueva característica....
Por ejemplo, Run('C:\Windows\Notepad.exe "C:\Some File.txt" ')

- Sintáxis de la línea de Comando:
Aquí sólo está en modo de script, ejemplo, AutoIt.exe <archivo de script>

- Convenciones:
<cmd>, <parámetro1> [,<parámetro2>] se reemplaza por Cmd(parm1 [,parm2])

- Goto no existe debido al soporte de ciclos y funciones de usuario.

- AutoItv3 soporta variables como los lenguajes comunes de programación: $myVar = "Example of assignment"

- Scripts tiene la extensión .au3 en vez de .aut

Si deseas re-escribir un script de la versión 2.64 como versión 3, la siguiente tabla de equivalencias es de ayuda:

Funciones de versión 2.64 | Equivalente en versión 3
AdlibOn | AdlibEnable
BlockInput | BlockInput
Break | Break
DetectHiddenText | AutoItSetOption("WinDetectHiddenText",...)
Exit | Exit
EnvAdd | [ver operador +]
EnvDiv | [ver operador /]
EnvMult | [ver operador *]
EnvSub | [ver operador -]
FileAppend | [FileOpen(...,2) seguido por FileWriteLine]
FileCopy | FileCopy
FileCreateDir | DirCreate
FileDelete | FileDelete o FileRecycle
FileInstall | FileInstall
FileReadLine | FileReadLine
FileRemoveDir | DirRemove
FileSelectFile | FileOpenDialog o FileSaveDialog
Gosub | [ver Func...EndFunc]
Return | [ver Func...EndFunc]
Goto | [no se necesita, al tener funciones]
HideAutoItDebug | --
HideAutoItWin | AutoItSetOption("TrayIconHide",...)
IfInString | If StringInStr(...) Then
IfNotInString | If Not StringInStr(...) Then
IfWinExist | If WinExists(...) Then
IfWinNotExist | If Not WinExists(...) Then
IfWinActive | If WinActive(...) Then
IfWinNotActive | If Not WinActive(...) Then
IfEqual | [see = and == operators]
IfNotEqual | [ver operador <>]
IfGreater | [ver operador >]
IfGreaterOrEqual | [ver operador >=]
IfLess | [ver operador <]
IfLessOrEqual | [ver operador <=]
IfExist | FileExists
IfNotExist | If Not FileExists(...) Then
IfMsgBox | [ver MsgBox(...) y Select...Case...EndSelect]
IniRead | IniRead
IniWrite | IniWrite
IniDelete | IniDelete
InputBox | InputBox
LeftClick | MouseClick("left",...)
RightClick | MouseClick("right",...)
LeftClickDrag | MouseClickDrag("left",...)
RightClickDrag | MouseClickDrag("right",...)
MouseGetPos | MouseGetPos
MouseMove | MouseMove
MsgBox | MsgBox
Random | Random
RegRead | RegRead
RegWrite | RegWrite
RegDelete | RegDelete
Repeat | [ver For...Next]
EndRepeat | [ver For...Next]
Run | Run
RunWait | RunWait
Send | Send
SetCapslockState | SendSetCapslockState
SetEnv | EnvSet
SetBatchLines | --
SetKeyDelay | AutoItSetOption("SendKeyDelay",...)
SetStoreCapslockMode | AutoItSetOption("SendCapslockMode",...)
SetTitleMatchMode | AutoItSetOption("WinTitleMatchMode",...)
SetWinDelay | AutoItSetOption("WinWaitDelay",...)
Shutdown | Shutdown
Sleep | Sleep
SplashTextOn | SplashTextOn y otros
SplashTextOff | SplashOff
StringCaseSense | [ver funciones individuales]
StringLeft | StringLeft
StringRight | StringRight
StringMid | StringMid
StringLen | StringLen
StringReplace | StringReplace
StringTrimLeft | StringTrimLeft
StringTrimRight | StringTrimRight
StringGetPos | StringInStr
WinGetActiveStats | [ver WinGetPos, WinGetTitle, WinGetText]
WinGetActiveTitle | WinGetTitle("")
WinKill | WinKill
WinWait | WinWait
WinWaitClose | WinWaitClose
WinWaitActive | WinWaitActive
WinWaitNotActive | WinWaitNotActive
WinHide | WinShow(..., @SW_HIDE)
WinShow | WinShow(..., @SW_SHOW)
WinRestore | WinShow(...,@SW_RESTORE)
WinMinimize | WinShow(...,@SW_MINIMIZE)
WinMaximize | WinShow(...,@SW_MAXIMIZE)
WinActivate | WinActivate
WinClose | WinClose
WinMove | WinMove
WinSetTitle | WinSetTitle
WinMinimizeAll | WinMinimizeAll
WinMinimizeAllUndo | WinMinimizeAllUndo
#Include | #Include
%CLIPBOARD% | [ver ClipGet y ClipPut]
A_OSTYPE | @OSType
A_OSVERSION | @OSVersion
A_SCRIPTNAME | @ScriptName
A_SCRIPTDIR | @ScriptDir
A_SCRIPTFULLPATH | @ScriptFullPath
A_WORKINGDIR | @WorkingDir
A_NUMBATCHLINES | --
A_SEC | @SEC
A_MIN | @MIN
A_HOUR | @HOUR
A_MDAY | @MDAY
A_MON | @MON
A_YEAR | @YEAR
A_WDAY | @WDAY
A_YDAY | @YDAY


Language Reference

Referencia de Lenguaje

Los básicos del lenguaje de AutoIt:

  • Tipos de datos (Datatypes)
  • Variables
  • Macros
  • Operadores
  • Instrucciones condicionales
  • Ciclos
  • Funciones de usuario
  • Comentarios


Language Reference - Datatypes

Referencia de Lenguaje - Tipos de dato (Datatypes)

En AutoIt hay sólo un tipo de datos llamado Variante. Una variante puede contener datos numéricos o cadenas de texto y decide como usarlos según la situación. Por ejemplo, si se intenta multiplicar dos variantes son tratados como números, al concatenar (unir) dos variantes son tratados como cadenas de texto.

Algunos ejemplos:

10 * 20 es igual a el número 200 (* es usado para multiplicar dos números)

10 * "20" es igual a el número 200

"10" * "20" es igual a el número 200

10 & 20 es igual a la cadena de texto "1020" (& usado para unir)

Si una cadena de texto es usada como un número y con contiene una número válido, es asumido como 0. Por ejemplo,

10 * "fgh" equivale a 0.

Números

Los números pueden ser números decimales estándares como 2, 4.566, y -7

Notación científica es soportada; significa que en vez de escribir 1500 se puede 1.5e3

Números enteros también son representados en notación hexadecimal precedido con un 0x como en 0x409, cuando es usada la notación científica sólo es válido números de 32-bits.

o 0x4fff (cuando se está usando notación hexadecimal sólo números de 32-bit son válidos).

Cadenas de texto (strings)

Las cadenas de texto van encerradas en doble-comillas como "esto". Para usar comillas dentro de una cadena de texto se hace esto:

También se puede usar el signo de apóstrofe. Como 'esto' y 'aquello'

También se pueden mezclar los tipos para claridad:

'Instrucción contiene "comillas" como estas.'

Más simple que: "Instrucción contiene "comillas" como estas."

Rangos de Tipos de Datos

Rangos de Tipos de Datos
Lo siguiente muestra el rango de valores de esa variantes.
Data Sub-tipo | Rango y Notas
Numérico | Un número de "precisión doble" (tipo double) que es precisión de 15 dígitos en el rango de 1.7E–308 a 1.7E+308. (almacenado internamente como 8 bytes)
Cadena de texto | Puede contener cadenas de texto arriba de 2 billones de caracteres.

Algunas funciones en AutoIt sólo trabajan con números con 32 bit (ejem. BitAND) y son convertidos automáticamente - estas funciones requieren estén documentadas.


Language Reference - Variables

Referencia de Lenguaje - Variables

Una variable es sólo un lugar almacenado en memoria que puede ser accesado fácilmente.

Cada variable tiene un nombre (como, una correspondencia) y empieza con el caracter $ y puede contener letras, números y el caracter "guión bajo". Ejemplos:

$var1

$my_variable

Cada variable es almacenada como una variante.

Declarando Variables

Las variables son declaradas y creadas con las palabras claves Dim, Local y Global:

Dim $var1

O se pueden eliminar varias variables a la vez:

Dim $var1, $myvariable

También se puede asignar una variable sin ser declarada primero, pero se prefiere declarar explícitamente.

$var1 = "create and assign"

Escape o Alcance (Scope)

Un alcance/escape de variable es controlado cuando se declara una la variable. Si se declara una variable al principio del script y fuera de alguna función si existe en escape Global puede ser leído de cualquier parte del script.

Si se declara una variable dentro de una función ese alcance sólo es Local y sin la misma función. Las variables creadas dentro de funciones automáticamente son destruídas al terminar la función.

Por defecto las variables son declaradas usando Dim o asignando en una función tiene un alcance Local a menor que sea una variable Global (en el caso de que esa variable global será reusada). Este puede alterar el alcance de una variable las palabras claves Local y Global y forzar el alcance que desee.


Language Reference - Macros

Referencia de Lenguaje - Macros

AutoIt tiene un número de Macros que son variables especiales de sólo-lectura. Las macros inician con el caracter "@" en vez de el caracter "$". Como variables normales se pueden usar macros en expresiones, pero no asignar algún valor a una macro.

Las macros pre-definidas son generalmente usadas para proveer el fácil acceso al sistema como la localización del directorio de Windows, o el nombre del usuario.

Para ver la lista completa haga click aquí.


Language Reference - Operators

Referencia de Lenguaje - Operadores

AutoIt tiene operadores matemáticos, lógicos y de comparación.

Operador | Descripción
+ | Suma números. ejem. 10 + 20 (equivale a 30)
- | Subtrae (Resta) números. ejem.: 20 - 10 (equivale a 10)
* | Multiplica números. ejem.: 20 * 10 (equivale a 200)
/ | Divide. ejem.: 20 / 10 (equivale a 2)
& | Concatena/una cadenas de texto. ejem.: "one" & 10 (equivale a "one10")
^ | Eleva un número a la potencia. ejem.: 2 ^ 4 (equivale a 16)
NOT | Operación "Logical NOT" (no lógica). ejem.: NOT 1 (equivale a 0)
= | Prueba si dos valores son iguales (caso no-sensitivo si es usado con cadenas de texto). ejem.: If $var= 5 Then (Verdadero si $var equivale a 5)
== | Prueba si dos valores son iguales (caso sensitivo si es usado con cadenas de texto (strings))
<> | Prueba si dos valores no son iguales.
> | Prueba si el primer valor es mayor que el segundo.
>= | Prueba si el primer valor es mayor o igual que el segundo.
< | Prueba si el primer valor es menor que el segundo.
<= | Prueba si el primer valor es menor o igual al segundo
AND | Operación Logical AND. Ejem.: If $var = 5 AND $var2 > 6 Then (verdadero si $var equivale a 5 y $var2 es mayore que 6)
OR | Operación Logical OR. Ejem.: If $var = 5 OR $var2 > 6 Then (verdadero si $var equivale a 5 or $var2 es mayor que 6)

Cuando un operador es usado en una expresión es controlado por el orden de precedencia de operador. La precedencia es usada en AutoIt como se muestra abajo. Donde dos operadores tienen la misma precedencia, la expresión es evaluaada izquierda a derecha.

De mayor a menor precedencia:

NOT
^
* /
+ -
&
< > <= >= = <> ==
AND OR

ejem.: 2 + 4 * 10 es evaluado como 42:

4 * 10 (equivale a 40)

2 + 40 (equivale a 42)

Como el operador "*" tiene una precedencia más alta que "+", lo que sucede es que la suma será después de multiplicar.

Es posible usar llaves para forzar una parte a ser evaluada primero.

ejem.: (2 + 4) * 10 equivale a 60.


Language Reference - Conditional Statements

Referencia de Lenguaje - Instrucciones de Condición

Tú puedes cambiar el flujo de un script basado en una condición o una serie de condiciones. Es uno mayor que otro número? O una cadena de texto tiene cierto valor?

Las condiciones son evaluadas como verdadero (no-cero) o falso (cero). Las condiciones generalmente usan los operadores de comparación como ==, <>, >=.

Las siguientes condiciones están disponibles en AutoIt:

  • If...Then...Else
  • Select...Case

Ambas son similares y deciden que código a ejecutar dependiendo la condición dada. Aquí un ejemplo de la instrucción If que muestra una cuadro de mensaje (message box) si una variable es mayor que 10.

$var = 20

If $var > 10 Then
MsgBox(0, "Ejemplo", "$var es mayor que 10!")
Else
MsgBox(0, "Ejemplo", "$var es menor que 10")
EndIf

En el ejemplo de arriba la expresión $var > 10 evaluada como verdadera porque la variable fué encontrada mayor que 10. Esta causa que muestre "$var es mayor que 10!".

La instrucción Select es muy similar, pero generalmente es usada para situaciones donde se desea probar un número con varias condiciones como generalmente es más fácil leer que If/ElseIf. ejem.

$var = 30

Select
Case $var > 1 AND $var <= 10
MsgBox(0, "Ejemplo", "$var es mayor que 1")

Case $var > 10 AND $var <= 20
MsgBox(0, "Ejemplo", "$var es mayor que 10")

Case $var > 20 AND $var <= 30
MsgBox(0, "Ejemplo", "$var es mayor que 20")

Case $var > 30 AND $var <= 40
MsgBox(0, "Ejemplo", "$var es mayor que 30")

Case $var > 40
MsgBox(0, "Ejemplo", "$var es mayor que 40")
EndSelect


Language Reference - Loops Statements

Referencia de Lenguaje - Instrucciones de Ciclo

Un ciclo (loop) es como una sección de script se repetirá un número de veces. Estos ciclos están condicionados (verdadero o falso), y se repiten un número de veces la sección de código, según sea el número de veces a repetir.

Las siguientes instrucciones de ciclo están disponibles en AutoIt:

  • For...Next
  • While...WEnd
  • Do...Until

La mayoría de ciclos hacen similares funciones, pero una puede ser apropiada según sea su situación.


Language Reference - User Functions

Referencia de Lenguaje - Funciones de Usuario

Una función es una sección de código que es llamada del script para realizar una "función" específica. Hay dos tipos de funciones en AutoIt, funciones inbuilt(de programa) y funciones de usuario.

Funciones de programa

La lista completa de estas funciones está aquí y las notas de uso están aquí.

Funciones de usuario

Funciones de usuario son declaradas usando las líneas Func...EndFunc.

Las funciones pueden aceptar parámetros y devolver valores como sean requeridos.

Los nombres para funciones debe empezar con una letra o un guíon bajo (underscore), y el resto puede contener combinación de letras y números. Algunos nombres válidos pudieran ser:

MyFunc

Func1

_My_Func1

Aquí un ejemplo de usar una función a doblar un número 5 veces:

$val = 10
For $i = 1 To 10
$doubled = MyDouble($val)
MsgBox(0, "", $val & " doubled is " & $doubled)
$val = $doubled
Next

Exit

Func MyDouble($value)
$value = $value * 2
Return $value
EndFunc


Language Reference - Comments

Referencia de Lenguaje - Comentarios

Aunque sólo es permitida una instrucción por línea, una instrucción larga puede dividirse si al final de la línea lleva un guión bajo, "_".

MsgBox(4096,"", "Esta es una línea larga, así que la quiebro con el _
caracter, _, de guión bajo.")

El punto y coma es un caracter (;) para comentar. A menos que una cadena de texto está sin punto y coma, todo el texto es ignorado por el intérprete/compilador del script.

; La próxima línea contiene una significativa línea de comentario,
Sleep(5000) ;pausa 5 segundos

NOTA: Al final de una línea con guión bajo no puede agregarse comentario alguno!

También es posible comentar largos bloques de texto usando las directivas #comments-start y #comments-end.


Palabras Claves

Referencia de Palabras Claves

Abajo una lista completa de palabras claves disponibles en AutoIt. Abajo una descripción detallada de cada una.

Palabras Claves | Descripción
#comments-start | Especifica si una sección entera del script será tomada como comentario.
ContinueLoop | Continúa un ciclo While/Do/For.
Dim / Global / Local | Declara una variable o crea un arreglo.
Do...Until | Ciclo basado en una expresión.
Exit | Termina el script.
ExitLoop | Termina un ciclo While/Do/For.
For...Next | Ciclo basado en una expresión.
Func...EndFunc | Define una función-de-usuario que toma cero o más argumentos y opcionalmente devuelve un resultado.
If...Then | Condicionalmente ejecuta una declaración simple
If...ElseIf...Else...EndIf | Ejecuta instrucciones condicionalmente.
#include | Incluye un archivo en el script actual.
#include-once | Especifica que el archivo actual puede ser incluido sólo una vez.
ReDim | Redimensiona el tamaño de un arreglo existente
Select...Case...EndSelect | Ejecuta instrucciones condicionalmente.
While...WEnd | Ciclo basado en una expresión.


Palabra clave #comments-start

Referencia de palabra clave

#comments-start

Especifica si una sección entera del script será tomada como comentario.

#comments-start
...
...
#comments-end

Parámetros

Ninguno.

Observaciones

Las directivas #comments-start y #comments-end pueden ser anidadas.
Como alternativa se puede usar abreviadamente: #cs y #ce.
Adicionalmente, las directivas pueden ser comentadas.

Relacionados

#include, #include-once

Ejemplo

#comments-start
MsgBox(4096, "", "Esto no es ejecutado")
MsgBox(4096, "", "O esto")
#comments-end

;;; #cs
MsgBox(4096, "", "Esto se ejecutará porque '#cs' está comentado.")
#ce


Palabra clave #include

Referencia de palabra clave

#include

Incluye un archivo en el script actual.

#include "[dirección\]nombre de archivo"
#include <nombre de archivo>

Parámetros

nombre de archivo El nombre de archivo del script actual a incluir. La dirección es opcional. Debe ser una cadena de texto--no una variable.
Si "..." es usado, el nombre archivo es tomado como relativo al script actual.
Si <...> es usado el nombre de archivo es tomado como relativo en el folder de librería (usualmente a C:\Program Files\AutoIt3\Include). La Librería de incluir/anexos puede contener muchas funciones de usuario pre-definidas para usar!

Observaciones

En un AutoIt script, otros scripts puede ser incluídos usando el comando "#include". #include debe estar escrito en minúsculas.

Para que la sintáxis librería de anexos (#include <archivo>) trabaje, AutoIt debe ser instalado usando el instalador suplido, de otra manera el directorio de instalación no será encontrado y el script actual (@ScriptDir\Include) será usado en su lugar.

Si se incluye el archivo más de una vez en el mismo script una función de usuario habrá un error de "Función duplicada". Cuando se incluye un archivo, para asegurarse de que no contiene funciones duplicadas debe escribirse al principio una línea que contenga #include-once para prevenir el error.

Relacionados

#include-once, FileInstall

Ejemplo

;;; TIME.AU3 ;;;
MsgBox(0,"", "La hora es " & @HOUR & ":" & @MIN & ":" & @SEC)

;;; SCRIPT.AU3 ;;;
#include "TIME.AU3"
MsgBox(0,"", "Ejemplo")
#include "TIME.AU3"
Exit

; Ejecutando script.au3 mostrará tres mensajes:
; uno con la hora, uno con el 'Ejemplo', y otro con el tiempo.


Palabra clave #include-once

Referencia de palabra clave

#include-once

Especifica que el archivo actual puede ser incluido sólo una vez.

#include-once

Parámetros

Ninguno.

Observaciones

Si se incluye el archivo más de una vez en el mismo script una función de usuario habrá un error de "Función duplicada". Cuando se incluye un archivo, para asegurarse de que no contiene funciones duplicadas debe escribirse al principio una línea que contenga #include-once para prevenir el error.

Relacionados

#include, FileInstall

Ejemplo

;;; LIBRARY.AU3 ;;;
#include-once

Func myFunc()
MsgBox(0,"", "Hola de Libreria.au3")
EndFunc

;;; SCRIPT.AU3 ;;;
#include "Libreria.au3"
#include "Libreria.au3" ;tira un error si #include-once no se usó

MsgBox(0, "Ejemplo", "Este archivo viene de 'script.au3'")
myFunc()
Exit

; Ejecutando "script.au3" causará estos dos mensajes:
; uno diciendo "Esto viene del archivo 'script.au3' "
; y otro diciendo "Hola de Library.au3"


Palabra clave ContinueLoop

Referencia de palabra clave

ContinueLoop

Continúa un ciclo While/Do/For.

ContinueLoop

Parámetros

Ninguno.

Observaciones

ContinueLoop puede continuar la ejecución del ciclo al evaluar la expresión declarada (que son While, Until o For).

Aunque sin embargo algún programa que usa ContinueLoop puede ser reescrita usando declaraciones If-ElseIf-End, ContinueLoop puede hacer scripts largos, fáciles de entender.
Tenga cuidado con los ciclos While/Do; pueden crear ciclos infinitos por usar ContinueLoop incorrectamente.

Relacionados

ExitLoop

Ejemplo

;Muestra todos los números de 1 a 10 excepto 7
For $i = 1 to 10
If $i = 7 Then ContinueLoop
MsgBox(0, "El valor de $i es:", $i)
Next


Palabra clave Dim / Global / Local

Referencia de palabra clave

Dim / Global / Local

Declara una variable o crea un arreglo.

Dim $variable
Dim $array[subscript 1]...[subscript n]

Parámetros

$variable | El nombre de la variable a declarar.
subscript | El número de elementos a crear para la dimensión del arreglo, indexado 0 a n-1.

Observaciones

Las palabras claves Dim/Local/Global realizan una función similar.
1. Declara una variable antes de ser usada (similar a VBScript)
2. Crear un arreglo

Nota: En AutoIt puede crear una variable simplemente asignando un valor ($myvar = 0) pero muchas personas lo declaran explícitamente.

También puede declarar múltiples variables en una simple línea:

Dim $a, $b, $c

Y pre-inicializar, si la variable no es un arreglo:

Dim $a = 2, $b, $c = 20

La diferencia entre Dim/Local/Global es el escape en que ellos son creados:
Dim = Escape Local si el nombre de la variable ya no existe globalmente (en que caso que lo reuse la global!)
Global = Fuerza la creación de la variable en el escape Global
Local = Fuerza la creación de la variable en escape Local/Función

Cuando se está usando variables en escape local es revisado primero y secundariamente el escape Global.

Cuando se crea arreglos se está limitado a 64 dimensiones y/o un total de 16millones de elementos. (Técnicamente: La tabla interna de 4 bytes por elemento es asignada en un espacio al momento de la creación, pero la memoria actual por cada elemento SOLO es asignada en los primeros elementos usados).

Una característica unica es la abilida de copiar arreglos como esto:
$mycopy = $myarray
En este caso $mycopy será una copia exacta de $myarray y tendrá las mismas dimensiones - En declaraciones sin Dim es requerido el primer elemento. Si la variable $mycopy fué un arreglo o el valor será borrado antes la copia toma el lugar.

Al borrar un arreglo (tal vez porque un arreglo global grande y necesita liberar memoria), simplemente asignele un valor sencillo a:
$array = 0
Esto libera memoria a un arreglo y lo convierte un un valor sencillo de 0.

Dim para el mismo nombre de variable borrará y reseteará las dimensiones a las nuevas definiciones.

Relacionados

UBound, ReDim

Ejemplo

; Ejemplo 1 - Declarando variables
Dim $x, $y = 23, $z
Global $PI = 3.14159, $RADIUS
Local $daysWorking = 5

; Ejemplo 2 - Declarando arreglos
Dim $weeklyWorkSchedule[$daysWorking]
Global $chessBoard[8][8]
Local $mouseCoordinates[2], $windowStats[4]


Palabra clave Do...Until

Referencia de palabra clave

Do...Until

Ciclo basado en una expresión.

Do
declaraciones
...
Until <expresión>

Parámetros

expresión Las líneas contenidas entre "Do" y "Until" son ejecutadas hasta que la expresión es verdadera.

Observaciones

Declaraciones Do...Until pueden ser anidadas.
La expresión es probada después de que el ciclo es ejecutado, también el ciclo será ejecutado al menos una vez.

Relacionados

ContinueLoop, ExitLoop, While...WEnd, For...Next

Ejemplo

$i = 0
Do
MsgBox(0, "Valor de $i es:", $i)
$i = $i + 1
Until $i = 10


Palabra clave Exit

Referencia de palabra clave

Exit

Termina el script.

Exit [código devuelto]

Parámetros

código devuelto [opcional] Es fijado un entero al código devuelto del script. Este código puede ser usado por Windows o la variable DOS %ERRORLEVEL%. Por defecto es 0. Los scripts normalmente fijan un "errorlevel" de 0 si el script fué ejecutado apropiadamente; "error levels" en 1 o mayor que 1 típicamente indica que ese script no se ejecutó apropiadamente.

Observaciones

El parámetro, si es incluído, puede ser encerrado en paréntesis. Equivalentes: Exit, Exit 0, y Exit(0). Es inválido usar, Exit().

Relacionados

ExitLoop

Ejemplo

;Primer ejemplo
Exit

;Segundo Ejemplo
; Termina el script si no hay argumentos en la línea de comandos
If $CmdLine[0] = 0 Then Exit(1)

;Tercer ejemplo
; Abre una archivo especificado como primer argumento en la línea de comandos
$file = FileOpen($CmdLine[1], 0)

; Revisa si el archivo abierto está listo para leer OK
If $file = -1 Then Exit(2)

; Si el archivo está vacío entonces termina (script finaliza)
$line = FileReadLine($file)
If @error = -1 Then Exit

;código de procesar y finalizar
FileClose($file)
Exit ;es opcional si es la última línea de un script


Palabra clave ExitLoop

Referencia de palabra clave

ExitLoop

Termina un ciclo While/Do/For.

ExitLoop [nivel]

Parámetros

nivel [opcional] El número de niveles del ciclo se interrumpe. Por defecto es 1 (es el ciclo actual).

Observaciones

Un valor negativo de nivel no tiene efecto alguno; sin embargo, un valor cero termina el script.

ExitLoop interrumpe los ciclos de While, Do o For.
ExitLoop es útil cuando se necesita realizar la revisión de un error en ambos el ciclo-prueba y el ciclo-cuerpo.

Relacionados

ContinueLoop, Exit

Ejemplo

$sum = 0
While 1 ;usa un ciclo infinito hasta que ExitLoop sea llamado
$ans = InputBox("Total= " & $sum, _
" Escriba un número positivo. (Con un número negativo sale)")
If $ans < 0 Then ExitLoop
$sum = $sum + $ans
WEnd
MsgBox(0,"La suma fué:", $sum)


Palabra clave For...Next

Referencia de palabra clave

For...Next

Ciclo basado en una expresión.

For <variable> = <empieza> To <detiene> [Step <pasos>]
declaraciones
...
Next

Parámetros

variable | La variable usada para el conteo.
empieza | El número inicial de la variable.
detiene | El número final de la variable.
pasos | [opcional] Valor numérico (posiblemente fraccional) que el contador es incrementado por cada ciclo. Por defecto es 1.

Observaciones

Declaraciones For...Next puede ser anidados. El ciclo For termina cuando el valor de variable excede a detiene. Si pasos o detiene es una variable, el valor sólo es leído la primera vez que el ciclo se ejecuta.

Un ciclo For ciclo terminará ejecutándose cero veces si:
empieza > detiene y pasos > 0, o
empieza < detiene y pasos es negativo

Relacionados

ContinueLoop, ExitLoop

Ejemplo

For $i = 5 to 1 Step -1
MsgBox(0, "Cuenta regresiva!", $i)
Next
MsgBox(0,"", "Ya!")


Palabra clave Func...EndFunc

Referencia de palabra clave

Func...EndFunc

Define una función-de-usuario que toma cero o más argumentos y opcionalmente devuelve un resultado.

Func nombre de función ( [ByRef] $param1, ..., [ByRef] $paramN)
...
[Return [valor]]
EndFunc

Parámetros

Los parámetros que se necesiten. Luego puedes llamar la función como otra función.

Observaciones

La palabra clave ByRef es opcional, aunque-significa: (1) el parámetro debe ser una variable, y (2) la variable puede cambiar por la función. Por defecto, un parámetro es pasado por valor que es una copia del valor original es manipulado por la función.

Usa la palabra clave Return para salir de la función. Cómo en funciones de programa, las funciones de definidas-de-usuario devuelven 0 a menos que otro valor sea especificado a devolver.

Arreglos pueden ser pasados a través de funciones (y devueltos) simplemente usando el nombre del arreglo sin llaves. Note que esas declaraciones de función no pueden aparecer dentro de otra función.

Relacionados

Dim/Global/Local, #include

Ejemplo

; Script de ejemplo con tres funciones de usuario-definidas
; Note el uso de variables, ByRef, y Return

$foo = 2
$bar = 5
msgBox(0,"Hoy es " & today(), "$foo equals " & $foo)
swap($foo, $bar)
msgBox(0,"Después de unir $foo y $bar", "$foo ahora contiene " & $foo)
msgBox(0,"Finalmente", "El mayor de 3 y 4 es " & max(3,4))
Exit

Func swap(ByRef $a, ByRef $b) ;intercambia el contenido de dos variables
Local $t
$t = $a
$a = $b
$b = $t
EndFunc

Func today() ;Devuelve la fecha actual en formato: mm/dd/yyyy
return (@MON & "/" & @MDAY & "/" & @YEAR)
EndFunc

Func max($x, $y) ;Devuelve el mayor de dos números
If $x > $y Then
return $x
Else
return $y
EndIf
EndFunc

;Fin de ejemplo


Palabra clave If...Then

Referencia de palabra clave

If...Then

Condicionalmente ejecuta una declaración simple

If <expresión> Then declaración

Parámetros

expresión Si la expresión es verdadera, la declaración es ejecutada.

Observaciones

Esta versión de la declaración If es usada al ejecutar una declaración simple sin un EndIf abajo.
La expresión puede contener operadores booleanos de AND, OR, y NOT así como los operadores lógicos <, <=, >, >=, =, ==, y <> agrupado con los paréntesis como necesitados.

Relacionados

If...Else...EndIf, Select...Case...EndSelect

Ejemplo

;Termina el script si no los argumentos de línea-de-comando
If $CmdLine[0] = 0 Then Exit

;Alternativa:
If $CmdLine[0] = 0 Then
Exit
EndIf


Palabra clave If...ElseIf...Else...EndIf

Referencia de palabra clave

If...ElseIf...Else...EndIf

Ejecuta instrucciones condicionalmente.

If <expresión> Then
instrucciones
...
[ElseIf expresión-n Then
[elseif instrucciones ... ]]
...
[Else
[else instrucciones]
...
EndIf

Parámetros

expresión Si la expresión es verdadera, el primer bloque de instrucciones es ejecutado. Si no, la primera es verdadera el bloque de ElseIf es ejecutado. De otra manera, el bloque "Else" es ejecutado.

Observaciones

Declaraciones If pueden anidadas.
La expresión pueden contener operadores booleanos de AND, OR, y NOT como también los operadores lógicos <, <=, >, >=, =, ==, y <> agrupados con paréntesis como sea necesario.

Relacionados

If...Then, Select...Case...EndSelect

Ejemplo

If $var > 0 Then
MsgBox(4096,"", "Valor es positivo.")
ElseIf $var < 0 Then
MsgBox(4096,"", "Valor es negativo.")
Else
If StringIsXDigit ($var) Then
MsgBox(4096,"", "Valor puede ser hexadecimal!")
Else
MsgBox(4096,"", "Valor cualquiera es una cadena o es cero.")
EndIf
EndIf


Palabra clave ReDim

Referencia de palabra clave

ReDim

Redimensiona el tamaño de un arreglo existente

ReDim $arreglo[subscript 1]...[subscript n]

Parámetros

$variable | El nombre de la variable a redimensionar.
subscript | El número de elementos a crear para la dimensión arreglo, indexado 0 a n-1.

Observaciones

La palabra clave ReDim es similar a Dim, excepto que ReDim preserva los valores el arreglo en vez de remover los valores al reajustar el arreglo. El número de dimensiones debe mantenerse el mismo, o el arreglo anterior será obviado por ReDim. El arreglo puede retener el alcance (Global o Local) que tuvo previo al redimensionamiento.

Nota: Si ReDim es usado en una variable o arreglo que no existe, ReDim se comportará como Dim.

Relacionados

Dim, UBound

Ejemplo

; Ejemplo de redimensionamiento de un arreglo
Dim $I, $K, $T, $MSG
Dim $X[4][6], $Y[4][6]

For $I = 0 To 3
For $K = 0 To 5
$T = Int(Random(20) + 1) ;Obtiene números aleatorios entre 1 y 20
$X[$I][$K] = $T
$Y[$I][$K] = $T
Next
Next

ReDim $X[3][8]
Dim $Y[3][8]

$MSG = ""
For $I = 0 To UBound($X, 1) - 1
For $K = 0 To UBound($X, 2) - 1
If $K > 0 Then $MSG = $MSG & ", "
$MSG = $MSG & $X[$I][$K]
Next
$MSG = $MSG & @CR
Next
MsgBox(0, "ReDim Demo", $MSG)

$MSG = ""
For $I = 0 To UBound($Y, 1) - 1
For $K = 0 To UBound($Y, 2) - 1
If $K > 0 Then $MSG = $MSG & ", "
$MSG = $MSG & $Y[$I][$K]
Next
$MSG = $MSG & @CR
Next
MsgBox(0, "ReDim Demo", $MSG)


Palabra clave Select...Case...EndSelect

Referencia de palabra clave

Select...Case...EndSelect

Ejecuta instrucciones condicionalmente.

Select
Case <expresión>
instruccion1
...
[Case
instruccion2
...]
[Case Else
instruccionN
...]
EndSelect

Parámetros

Case <expresión> Si la expresión es verdadera las siguientes instrucciones las siguientes instrucciones Case o EndSelect son ejecutadas. Si más de una instrucción Case es verdadera, sólo el primer es ejecutado.

Observaciones

Declaraciones Select pueden anidadas.
La expresión pueden contener operadores booleanos de AND, OR, y NOT como también los operadores lógicos <, <=, >, >=, =, ==, y <> agrupados con paréntesis como sea necesario.

Relacionados

If...Then, If...Else...EndIf

Ejemplo

Select
Case $var = 1
MsgBox(0, "", "Primer expresión Case es verdadera")
Case $var2 = "test"
MsgBox(0, "", "Segunda expresión Case es verdadera")
Case Else
MsgBox(0, "", "Ningún anterior fué veradero!")
EndSelect


Palabra clave While...WEnd

Referencia de palabra clave

While...WEnd

Ciclo basado en una expresión.

While <expresión>
declaraciones
...
WEnd

Parámetros

expresión Si la expresión es verdadera las siguientes declaraciones de WEnd son ejecutadas. Este ciclo continua hasta que la expresión es falsa.

Observaciones

Declaraciones While...WEnd pueden ser anidadas.
La expresión es probada antes que ciclo sea ejecutado, así el ciclo será ejecutado cero o más veces.
Para crear un ciclo infinito, use un número no cero como la expresión.

Relacionados

ContinueLoop, Do...Until, ExitLoop

Ejemplo

$i = 0
While $i <= 10
MsgBox(0, "Valor de $i es:", $i)
$i = $i + 1
WEnd


Macros

Referencia de Macros

Abajo una lista en orden alfabético todos los macros disponibles en AutoIt. Contiene varias que son relacionadas a directorios de Windows.

Función | Descripción
@AppDataCommonDir | Dirección de "Application Data"
@AppDataDir | Dirección de "Application Data" del usuario actual
@AutoItVersion | Número de versión de AutoIt como 3.0.101
@CommonFilesDir | Dirección del folder de "Archivos comunes" (Common Files)
@Compiled | Devuelve 1 si el script es un ejecutable compilado; de otra manera, devuelve 0.
@ComputerName | Nombre de Computadora en la red.
@ComSpec valor de %comspec%, el eSPECificado intérprete de COMandos;
primariamente para uso de línea de comandos, ejem. Run(@ComSpec & " /k help | more")
@CR | Devuelve el retorno de carro, Chr(13); a veces usado para 'quebrar' líneas.
@CRLF | = @CR & @LF ;ocasionalmente usado para 'quebrar' líneas de texto.
@DesktopCommonDir | Dirección del escritorio (Desktop)
@DesktopDir | Dirección del escritorio del usuario actual.
@DesktopHeight | Altura de pantalla en píxeles. (resolución horizontal)
@DesktopWidth | Ancho de pantalla en píxeles. (resolución vertical)
@DesktopDepth | Rango de bits de colores en la pantalla del escritorio.
@DesktopRefresh | Valor en hercios que refresca la pantalla.
@DocumentsCommonDir | Dirección de Documentos
@error | Bandera de error. Ver la función SetError.
@FavoritesCommonDir | Dirección común de Favoritos
@FavoritesDir | Dirección al directorio de Favoritos del usuario actual
@HomeDrive | Letra de unidad del usuario actual. Ejem: "C:\"
@HomePath | Parte del directorio del directorio actual de usuario; usado en conjunción con @HomeDrive para obtener la dirección completa
@HomeShare | Nombre de servidor y nombre compartido conteniendo el directorio del usuario actual
@HOUR | Valor de hora del reloj en formato de 24-horas. El rango es de 00 a 23
@IPAddress1 Dirección de IP del primer adaptador de red. Tiende a devolver 127.0.0.1 en algunas computadoras.
@IPAddress2 | Dirección de IP del segundo adaptador de red. Devuelve 0.0.0.0 si no aplica.
@IPAddress3 | Dirección de IP del tercer adaptador de red. Devuelve 0.0.0.0 si no aplica.
@IPAddress4 | Dirección de IP del cuarto adaptador de red. Devuelve 0.0.0.0 si no aplica.
@LF | Line feed, Chr(10); típicamente usado para 'quebrar' líneas.
@LogonDNSDomain | Nombre del Dominio de Servidor
@LogonDomain | equivalente a variable %LOGONDOMAIN%
@LogonServer | equivalente a variable %LOGONSERVER%
@MDAY | Día del mes actual. EL rango es de 01 a 31
@MIN | Valor de minutos del reloj. El rango es de 00 a 59
@MON | Mes actual. El rango es de 01 a 12
@MyDocumentsDir | Dirección de "Mis Documentos"
@OSBuild | Devuelve el número de trabajo de Sistema Operativo. Por ejemplo, Windows 2003 Server devuelve 3790
@OSLang | Devuelve el código denotando el Lenguaje de SO. Ver el Apéndice para ver posibles valores.
@OSServicePack | Información de Service pack en la forma de "Service Pack 3" o, para Windows 95, tal vez devuelve "B"
@OSTYPE | Devuelve "WIN32_NT" para NT/2000/XP y devuelve "WIN32_WINDOWS" para 95/98/Me
@OSVersion | Devuelve uno de los siguientes: WIN_XP, WIN_2000, WIN_NT4, WIN_ME, WIN_98, WIN_95
@ProgramFilesDir | Dirección de "Archivos de Programa" (Program Files)
@ProgramsCommonDir | Dirección del directorio de programa en el Menú de Inicio (Start Menu)
@ProgramsDir | Dirección del directorio de programas en el Menú de Inicio de usuario (Start Menu)
@ScriptDir | Directorio que contiene el script actual en ejecución. (El resultado no contiene pleca al final)
@ScriptFullPath | Equivalente a: @ScriptDir & "\" & @ScriptName
@ScriptName | Dirección larga del archivo script en ejecución.
@SEC | Valor en segundos de reloj. El rango es de 00 a 59
@StartMenuCommonDir | Dirección del folder de Menú de Inicio (Start Menu)
@StartMenuDir | Dirección del directorio del Menú de Inicio de usuario (Start Menu)
@StartupCommonDir | Dirección del directorio de Inicio (StartUp)
@StartupDir | Dirección del directorio de Inicio del usuario actual (StartUp)
@SW_HIDE | Oculta ventana.
@SW_MAXIMIZE | Maximiza ventana.
@SW_MINIMIZE | Minimiza la ventana.
@SW_RESTORE | Restaura la ventana de una minimización o maximización
@SW_RESTORE | Activa y muestra la ventana. Si la ventana está minimizada o maximizada, el sistema lo restaura a su tamaño y posición original. Una aplicación especificaría esta bandera cuando restaura una ventana minimizada.
@SW_SHOW | Activa la ventana y la muestra en su tamaño y posición original.
@SW_SHOWDEFAULT | Fija el estado basado en el valor SW_ especificado por el programa que inició la aplicación.
@SW_SHOWMAXIMIZED | Activa la ventana y la muestra como ventana maximizada.
@SW_SHOWMINIMIZED | Activa la ventana y la muestra como ventana minimizada.
@SW_SHOWMINNOACTIVE | Muestra como ventana minimizada. Este valor es similar a @SW_SHOWMINIMIZED, excepto que la ventana no es activada.
@SW_SHOWNA | Muestra la ventana en su tamaño y posición original. Este valor es similar a @SW_SHOW, excepto la ventana no es activada.
@SW_SHOWNOACTIVATE | Muestra una ventana en su más reciente tamaño y posición. Este valor es similar a @SW_SHOWNORMAL, excepto que la ventana no es activada.
@SW_SHOWNORMAL | Activa y muestra la ventana. Si la ventana está minimizada o maximizada, el sistema lo restaura a su tamaño y posición original. Una aplicación especificaría esta bandera cuando la ventana es mostrada por primera vez.
@SystemDir | dirección a el directorio del Sistema de Windows (o System32)
@SW_SHOW | Muestra una ventana previamente oculta.
@SystemDir | Dirección del directorio de Sistema de Windows (o System32)
@TAB | Caracter Tab, Chr(9)
@TempDir | Directorio de archivos temporales (%TEMP%).
@UserProfileDir | Directorio del Perfile del usuario actual
@UserName | ID del usuario actual .
@WDAY | Día de la semana. El rango es 1 a 7 que corresponde a Domingo hasta el Sábado.
@WindowsDir | Dirección del directorio de Windows
@WorkingDir | Directorio actual de trabajo. (El resultado no contiene pleca al final)
@YDAY | Día actual del año. El rango es de 1 a 366 (o 365 si no es un año bisiesto)
@YEAR | Año actual en cuatro dígitos


AutoItRelated

Referencia de Macros

Abajo una lista de macros relacionados con AutoIt.

Función | Descripción
@compiled | Devuelve 1 si el script es un ejecutable compilado; de otra manera, devuelve 0.
@error | Bandera de error. Ver la función SetError.
@ScriptName | Dirección larga del archivo script en ejecución.
@ScriptDir | Directorio que contiene el script actual en ejecución. (El resultado no contiene pleca al final)
@ScriptFullPath | Equivalente a: @ScriptDir & "\" & @ScriptName
@WorkingDir | Directorio actual de trabajo. (El resultado no contiene pleca al final)
@AutoItVersion | Número de versión de AutoIt como 3.0.101
Para usar con funciones WinShow, Run, o RunWait, FileCreateShortcut y FileGetShortcut:
@SW_HIDE | Oculta ventana.
@SW_MINIMIZE | Minimiza la ventana.
@SW_MAXIMIZE | Maximiza ventana.
@SW_SHOW | Muestra una ventana previamente oculta.
@SW_RESTORE | Restaura la ventana de una minimización o maximización
@SW_SHOW | Activa la ventana y la muestra en su tamaño y posición original.
@SW_SHOWDEFAULT | Fija el estado basado en el valor SW_ especificado por el programa que inició la aplicación.
@SW_SHOWMAXIMIZED | Activa la ventana y la muestra como ventana maximizada.
@SW_SHOWMINIMIZED | Activa la ventana y la muestra como ventana minimizada.
@SW_SHOWMINNOACTIVE | Muestra como ventana minimizada. Este valor es similar a @SW_SHOWMINIMIZED, excepto que la ventana no es activada.
@SW_SHOWNA | Muestra la ventana en su tamaño y posición original. Este valor es similar a @SW_SHOW, excepto la ventana no es activada.
@SW_SHOWNOACTIVATE | Muestra una ventana en su más reciente tamaño y posición. Este valor es similar a @SW_SHOWNORMAL, excepto que la ventana no es activada.
@SW_SHOWNORMAL | Activa y muestra la ventana. Si la ventana está minimizada o maximizada, el sistema lo restaura a su tamaño y posición original. Una aplicación especificaría esta bandera cuando la ventana es mostrada por primera vez.
@SW_SHOW | Activates the window and displays it in its current size and position.
@SW_SHOWDEFAULT | Sets the show state based on the SW_ value specified by the program that started the application.
@SW_SHOWMAXIMIZED | Activates the window and displays it as a maximized window.
@SW_SHOWMINIMIZED | Activates the window and displays it as a minimized window.
@SW_SHOWMINNOACTIVE | Displays the window as a minimized window. This value is similar to @SW_SHOWMINIMIZED, except the window is not activated.
@SW_SHOWNA | Displays the window in its current size and position. This value is similar to @SW_SHOW, except the window is not activated.
@SW_SHOWNOACTIVATE | Displays a window in its most recent size and position. This value is similar to @SW_SHOWNORMAL, except the window is not actived.
@SW_SHOWNORMAL | Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
@CR | Devuelve el retorno de carro, Chr(13); a veces usado para 'quebrar' líneas.
@LF | Line feed, Chr(10); típicamente usado para 'quebrar' líneas.
@CRLF | = @CR & @LF ;ocasionalmente usado para 'quebrar' líneas de texto.
@TAB | Caracter Tab, Chr(9)


Directory

Referencia de Macros

Abajo una lista de macros de Directorios. Note que las direcciones no contienen una pleca al final.

Función Descripción
Macros para todos los usuarios ("All users"). Muchos de los valores son leídos de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
@AppDataCommonDir
 Dirección de "Application Data" del usuario actual
@DesktopCommonDir
 Dirección del escritorio (Desktop)
@DocumentsCommonDir
 Dirección de Documentos
@FavoritesCommonDir
 Dirección común de Favoritos
@ProgramsCommonDir
 Dirección del directorio de programa en el Menú de Inicio (Start Menu)
@StartMenuCommonDir
 Dirección del folder de Menú de Inicio (Start Menu)
@StartupCommonDir
 Dirección del directorio del Menú de Inicio de usuario (Start Menu)

Macros para el usuario actual. Muchos de los valores son leídos de HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion
@AppDataDir
 Dirección de "Application Data" del usuario actual
@DesktopDir
 Dirección del escritorio del usuario actual.
@MyDocumentsDir
 Dirección de "Mis Documentos"
@FavoritesDir
 Dirección al directorio de Favoritos del usuario actual
@ProgramsDir
 Dirección del directorio de programas en el Menú de Inicio de usuario (Start Menu)
@StartMenuDir
 Dirección del directorio del Menú de Inicio de usuario (Start Menu)
@StartupDir
 Dirección del directorio de Inicio del usuario actual (StartUp)
@UserProfileDir
 Directorio del Perfile del usuario actual

Otras macros para el sistema de la computadora:
@HomeDrive
 equivalente a la variable de entorno %HOMEDRIVE%
@HomePath
 equivalente a la variable de entorno %HOMEPATH%
@HomeShare
 equivalente a la variable de entorno %HOMESHARE%
@LogonDNSDomain
 Nombre del Dominio de Servidor
@LogonDomain
 equivalente a la variable de entorno %LOGONDOMAIN%
@LogonServer
 equivalente a la variable de entorno %LOGONSERVER%
@ProgramFilesDir
 Dirección de "Archivos de Programa" (Program Files)
@CommonFilesDir
 Dirección del folder de "Archivos comunes" (Common Files)
@WindowsDir
 Dirección del directorio de Windows
@SystemDir
 Dirección del directorio de Sistema de Windows (o System32)
@TempDir
 Directorio de archivos temporales (%TEMP%).
@ComSpec
 valor de %comspec%, el eSPECificado intérprete de COMandos;
primariamente para uso de línea de comandos, ejem. Run(@ComSpec & " /k help | more")


SystemInfo

Referencia de Macros

Abajo una lista de macros de Información de Sistema.

Función | Descripción
@OSLang | Devuelve el código denotando el Lenguaje del Sistema Operativo. Ver el Apéndice para ver posibles valores.
@OSType | Devuelve "WIN32_NT" para NT/2000/XP y devuelve "WIN32_WINDOWS" para 95/98/Me
@OSVersion | Devuelve uno de los siguientes: WIN_XP, WIN_2000, WIN_NT4, WIN_ME, WIN_98, WIN_95
@OSBuild | Devuelve el número de trabajo de Sistema Operativo. Por ejemplo, Windows 2003 Server devuelve 3790
@OSServicePack | Información de Service pack en la forma de "Service Pack 3" o, para Windows 95, tal vez devuelve "B"
@ComputerName | Nombre de Computadora en la red.
@UserName | ID del usuario actual .
@IPAddress1 | Dirección de IP del primer adaptador de red. Tiende a devolver 127.0.0.1 en algunas computadoras.
@IPAddress2 | Dirección de IP del segundo adaptador de red. Devuelve 0.0.0.0 si no aplica.
@IPAddress3 | Dirección de IP del tercer adaptador de red. Devuelve 0.0.0.0 si no aplica.
@IPAddress4 | Dirección de IP del cuarto adaptador de red. Devuelve 0.0.0.0 si no aplica.
@DesktopWidth | Altura de pantalla en píxeles. (resolución horizontal)
@DesktopHeight | Ancho de pantalla en píxeles. (resolución vertical)
@DesktopDepth | Rango de bits de colores en la pantalla del escritorio.
@DesktopRefresh | Valor en hercios que "refresca" la pantalla.


TimeAndDate

Referencia de Macros

Abajo una lista de macros de fecha y hora. Notese que los valores devuelven dos-dígitos, en su mayoría.

Función | Descripción
@SEC | Valor en segundos de reloj. El rango es de 00 a 59
@MIN | Valor de minutos del reloj. El rango es de 00 a 59
@HOUR | Valor de hora del reloj en formato de 24-horas. El rango es de 00 a 23
@MDAY | Día del mes actual. EL rango es de 01 a 31
@MON | Mes actual. El rango es de 01 a 12
@YEAR | Año actual en cuatro dígitos
@WDAY | Día de la semana. El rango es 1 a 7 que corresponde a Domingo hasta el Sábado.
@YDAY | Día actual del año. El rango es de 1 a 366 (o 365 si no es un año bisiesto)


Funciones

Referencia de Funciones

Abajo una lista completa de funciones disponibles en AutoIt. Abajo una descripción detallada de cada una.

Funciones | Descripción
Abs | Calcula el valor absoluto de un número.
ACos | Calcula el arcCoseno de un número.
AdlibDisable | Desactiva la funcionalidad de adlib.
AdlibEnable | Activa la funcionalidad de Adlib.
Asc | Devuelve el código ASCII de un caracter.
ASin | Calcula el seno inverso de un número.
ATan | Calcula la tangente inversa de un número.
AutoItSetOption | Cambia la operación de varios opciones/parámetros de AutoIt.
AutoItWinGettitle | Captura el título de la ventana de AutoIt.
AutoItWinSettitle | Cambia el título de la ventana de AutoIt.
BitAND | Realiza un operación bitwise AND.
BitNOT | Realiza un operación bitwise NOT.
BitOR | Realiza una operación bitwise OR.
BitShift | Realiza una operación alterna de bit.
BitXOR | Realiza una operación exclusiva bitwise OR (XOR).
BlockInput | Activa/desactiva el mouse y teclado.
Break | Activa o desactiva la habilidad a los usuarios, de cerrar un script desde el ícono de la barra de tareas.
Call | Llama una función-de-usuario contenida en una cadena de texto.
CDTray | Abre o cierra la bandeja de CD.
Chr | Devuelve a un caracter correspondiente a un código ASCII.
ClipGet | Captura el texto del portapaleles (clipboard).
ClipPut | Pone texto al portapapeles (clipboard).
ControlClick | Envía un click de mouse a un determinado control.
ControlCommand | Envía un comando a un control.
ControlDisable | Desactiva un control.
ControlEnable | Activa un control que está desactivado.
ControlFocus | Fija el enfoque de entrada en un determinado control en una ventana.
ControlGetFocus | Devuelve el ControlRef# de un control que está enfocado en una ventana específica.
ControlGetPos | Captura la posición y tamaño de un control relativo un una ventana.
ControlGettext | Captura el texto de un control.
ControlHide | Oculta un control.
ControlMove | Mueve un control dentro de una ventana.
ControlSend | Envía una cadena de texto de caracteres a un control.
ControlSettext | Fija texto de un control.
ControlShow | Muestra un control que está oculto.
Cos | Calcula el coseno de un número.
Dec | Devuelve una representación numérica de una cadena hexadecimal.
DirCopy | Copia un directorio y todos los sub-directorios y archivos del mismo. (Similar a XCOPY).
DirCreate | Crea un directorio/folder.
DirMove | Mueve un directorio y todos los sub-directorios y archivos.
DirRemove | Elimina un directorio/folder.
DriveGetDrive | Devuelve un arreglo conteniendo las unidades enumeradas.
DriveGetFileSystem | Devuelve el tipo de almacenamiento de una unidad.
DriveGetLabel | Devuelve la Etiqueta de Volúmen de una unidad, si hay una.
DriveGetSerial | Devuelve el número de serie de una unidad.
DriveGetType | Devuelve el tipo de unidad.
DriveMapAdd | Mapea una unidad de red.
DriveMapDel | Desconecta una unidad de red.
DriveMapGet | Devuelve los detalles de una unidad mapeada.
DriveSetLabel | Fija la etiqueta de volúmen de una unidad.
DriveSpaceFree | Devuelve el espacio libre en la unidad(en MegaBytes) de una dirección.
DriveSpacetotal | Devuelve el espacio en disco en Megabytes de una dirección dada.
DriveStatus | Devuelve el estado de la unidad como una cadena de texto.
EnvGet | Captura una variable de ambiente.
EnvSet | Escribe una variable de entorno.
EnvUpdate | Refresca el entorno del Sistema Operativo (OS).
Eval | Devuelve el valor de una variable según el nombre de la misma dado como expresión.
Exp | Calcula la potencia (e) de un número.
FileChangeDir | Cambia el directorio actual de trabajo.
FileClose | Cierra un archivo previamente abierto.
FileCopy | Copia uno o más archivos.
FileCreateShortcut | Crea un acceso directo (.lnk) de un archivo.
FileDelete | Elimina uno o más archivos.
FileExists | Revisa si un archivo o directorio existe.
FileFindFirstFile | Devuelve el nombre de un archivo de acuerdo a una cadena de texto dada.
FileFindNextFile | Devuelve un nombre de archivo según una llamada previa de FileFindFirstFile.
FileGetAttrib | Devuelve un cadena de texto representando los atributos de un archivo.
FileGetLongName | Devuelve el nombre largo (dirección+nombre) del nombre+dirección.
FileGetShortcut | Recupera detalles de un acceso directo (shortcut).
FileGetShortName | Devuelve el nombre corto 8.3 de una dirección+nombre de archivo.
FileGetSize | Devuelve el tamaño de un archivo en bytes.
FileGetTime | Devuelve la hora y fecha de un archivo.
FileGetVersion | Devuelve la información de versión de un "Archivo".
FileInstall | Incluye e instala un archivo con el archivo compilado.
FileMove | Mueve uno o más archivos
FileOpen | Abre un archivo de texto para leer o escribir.
FileOpenDialog | Inicia un cuadro de diálogo de Abrir archivo.
FileRead | Lee un número de caracteres de un archivo de texto previamente abierto.
FileReadLine | Lee una línea de texto de un archivo de texto previamente abierto.
FileRecycle | Envía un archivo o directorio a la papelera de reciclaje (recycle bin).
FileSaveDialog | Inicia un cuadro de diálogo de Guardar archivo.
FileSelectFolder | Inicia una caja de diálogo de Búsqueda de Folders (GUI).
FileSetAttrib | Fija atributos de uno o más archivos.
FileSettime | Fija el dato de fecha en un archivo o más.
FileWrite | Agrega una línea de texto al final de un archivo abierto previamente.
FileWriteLine | Agrega una línea de texto al final de un archivo abierto previamente.
Hex | Devuelve una conversión hexadecimal de un entero.
HotKeySet | Fija una combinación de teclas (hotkey), que llama a una función de usuario.
IniDelete | Elimina un valor del formato estándar archivo ".ini".
IniRead | Lee un valor de un formato estándar de archivo ".ini".
IniWrite | Escribe un valor a archivo estándar .ini
InputBox | Muestra una caja de diálogo para entrada de datos.
Int | Devuelve la representación en entero (todo un número) de una expresión.
IsAdmin | Revisa si el usuario actual tiene privilegios de administrador.
IsArray | Revisa si la variable es un tipo de arreglo.
IsDeclared | Revisa si una variable ha sido declarada.
IsFloat | Revisa si una variable o expresión es de tipo flotante (decimal).
IsInt | Revisa si un variable o expresión es un tipo entero.
IsNumber | Revisa si una variable es de tipo numérica.
IsString | Revisa si la variable o expresión es una cadena de texto.
Log | Calcula el logaritmo natural logaritmo de un número.
MemGetStats | Recupera información relacionada con la memoria.
Mod | Realiza un operación de módulo.
MouseClick | Realiza un click de mouse.
MouseClickDrag | Realiza un click del mouse u operación de arrastrar.
MouseDown | Realiza el evento de "bajar" el botón del mouse en la posición actual.
MouseGetCursor | Devuelve un ID de cursor del actual cursor.
MouseGetPos | Captura la posición actual del mouse.
MouseMove | Mueve el puntero/cursor del mouse.
MouseUp | Realiza el evento de "levantar" el botón del mouse en la posición actual.
MsgBox | Muestra una simple caja de diálogo con un tiempo opcional de duración.
Number | Devuelve la representación numérica de una expresión.
PixelChecksum | Genera una suma de chequeo de una región de pixeles.
PixelGetColor | Devuelve un color de pixel según las coordenadas x,y del pixel.
PixelSearch | Busca en una área específica de pixeles un pixel.
ProcessClose | Termina el proceso nombrado.
ProcessExists | Revisa si un proceso especificado existe.
ProcessSetPriority | Cambia la priorida de un proceso
ProcessWait | Pausa script ejecución hasta que un determinado proceso exista.
ProcessWaitClose | Pausa script ejecución hasta que un determinado proceso no exista.
ProgressOff | Apaga/Desaparece la ventana de Progreso(Progress).
ProgressOn | Crea una barra customizable de progreso.
ProgressSet | Fija la posición y/o texto de una previamente creada barra de Progreso.
Random | Genera un número seudo-aleatorio tipo flotante (decimal).
RegDelete | Elimina una clave o valor del registro.
RegRead | Lee un valor del registro.
RegWrite | Escribe un valor al registro.
Round | Devuelve un número redondeado a una cantidad especificada de decimales.
Run | Ejecuta un programa externo.
RunAsSet | Inicializa a un set de credenciales de usuario a usar durante las operaciones Run y RunWait. Sólo 2000/XP o posteriores.
RunWait | Ejecuta un programa externo y pausa la ejecución del script hasta que el programa finalice.
Send | Envía o simula teclazos a una ventana activa.
SetError | Manualmente fija el valor de la macro @error.
Shutdown | Cierra el sistema.
Sin | Calcula el seno de un número.
Sleep | Pausa la ejecución de un script.
SoundPlay | Ejecuta un archivo de sonido.
SoundSetWaveVolume | Fija el volúmen de sistema para la Onda (wave volume) por porcentaje.
SplashImageOn | Crea una ventana customizable de imagen.
SplashOff | Activa/Desactiva un SplashText o SplashImage.
SplashTextOn | Crea una ventana customizable de texto.
Sqrt | Calcula la raíz-cuadrada de un número.
StatusbarGettext | Captura el texto del control de una barra de estado.
String | Devuelve una cadena de texto de una expresión.
StringAddCR | Toma una cadena de texto y prefija todos los caracteres de ( Chr(10) ) con un retorno de carro ( Chr(13) ).
StringFormat | Devuelve una cadena de texto con formato (similar a la función de C sprintf()).
StringInStr | Revisa si una cadena de texto contiene una determinada sub-cadena de texto (sub-cadena de texto).
StringIsAlNum | Revisa si una cadena de texto sólo contiene caracteres alfanuméricos .
StringIsAlpha | Revisa si una cadena de texto sólo contiene caracteres del alfabeto.
StringIsASCII | Revisa si una cadena de texto sólo contiene caracteres ASCII en el rango de 0x00 - 0x7f (0 - 127).
StringIsDigit | Revisa si una cadena de texto sólo contiene caracteres de digitos (0-9).
StringIsFloat | Revisa si una cadena de texto es un número de tipo decimal (punto flotante).
StringIsInt | Revisa si una cadena de texto es un entero.
StringIsLower | Revisa si una cadena de texto sólo contiene letras minúsculas.
StringIsSpace | Revisa si una cadena de texto sólo contiene caracteres de espaciado.
StringIsUpper | Revisa si una cadena de texto sólo contiene letras mayúsculas.
StringIsXDigit | Revisa si una cadena de texto sólo contiene dígitos hexadecimales (0-9, A-F).
StringLeft | Devuelve un número de caracteres del lado izquierdo de una cadena de texto.
StringLen | Devuelve el número de caracteres en una cadena de texto.
StringLower | Convierte una cadena de texto a minúscula.
StringMid | Extrae un número de caracteres de una cadena de texto.
StringReplace | Reemplaza las subcadenas en una cadena de texto.
StringRight | Devuelve un número de caracteres del lado derecho de una cadena de texto.
StringSplit | Divide una cadena de texto en sub cadenas dependiendo on los determinados delimitadores.
StringStripCR | Remueve todo los valores de retorno de carro ( Chr(13) ) de una cadena de texto.
StringStripWS | Acorta los espacios en blanco de una cadena de texto.
StringTrimLeft | Corta un número de caracteres desde la izquierda de una cadena de texto.
StringTrimRight | Corta un número de caracteres del lado derecho de una cadena de texto.
StringUpper | Convierte una cadena de texto a minúsculas.
Tan | Calcula la tangente de un número.
TimerDiff | Devuelve una diferencia en tiempo de una llamada previa a TimerInit().
TimerInit | Devuelve una estampa de tiempo (en milisegundos).
ToolTip | Crea un 'tooltip' en alguna parte de la pantalla.
TrayTip | Muestra un globo de información(tip balloon) del ícono de AutoIt. (sólo 2000/XP)
UBound | Devuelve el tamaño de un arreglo y sus dimensiones.
URLDownloadToFile | Descarga un archivo de internet.
WinActivate | Activa (se enfoca) en una ventana específica.
WinActive | Revisa si una ventana especificada existe y si está activa.
WinClose | Cierra una ventana.
WinExists | Revisa si una ventana especificada existe.
WinGetCaretPos | Devuelve las coordenadas de un caret en el primer plano de la ventana
WinGetClassList | Captura las clases(classes) de una ventana.
WinGetClientSize | Captura el tamaño de una ventana determinada de area cliente.
WinGetHandle | Captura el apuntador/indicador(handle) interno de la ventana.
WinGetPos | Captura la posición y tamaño de una vantana determinada.
WinGetState | Devuelve el estado de una ventana dada.
WinGetText | Captura el texto de una ventana.
WinGetTitle | Captura el título completo de una ventana.
WinKill | Obliga a una ventana a cerrar.
WinMenuSelectItem | Invoca un item de menú de una ventana.
WinMinimizeAll | Minimiza todas las ventanas.
WinMinimizeAllUndo | Deshace la función previa a WinMinimizeAll.
WinMove | Mueve y/o reajusta una ventana.
WinSetOnTop | Cambia una ventana al atributo "Siempre en frente".
WinSetState | Muestra, oculta, minimiza, maximiza, o restaura una ventana.
WinSetTitle | Cambia el título de una ventana.
WinShow | Muestra, oculta, minimiza, maximiza, o restaura una ventana.
WinWait | Pausa la ejecución de un script hasta que la ventana solicitada exista.
WinWaitActive | Pausa la ejecución de un script hasta que la ventana solicitada se activa.
WinWaitClose | Pausa la ejecución del script hasta que la ventana solicitada no exista.
WinWaitNotActive | Pausa la ejecución de el script hasta que la ventana especificada no esté activa.


Function Notes

Notas de Función

Muchas funciones contienen parámetros opcionales que pueden ser omitidos. Si desea especificar un parámetro opcional, sin embargo, todos los parámetros que le preceden deben ser especificados!
Por ejemplo, considere Run ( "nombre de archivo", ["workingdir" [, bandera]] ). Si desea especificar la bandera, se debe especificar el parámetro workingdir.

Muchas funciones Win___ contienen un parámetro opcional: "texto." Este parámetro pretende ayudar a diferenciar entre ventanas que tiene títulos idénticos.

Algunas funciones indican que al completar/al fallar devuelven valor; otras indican que la bandera @error es cambiada. Algunos ambos...
@error = 0 ; si siempre completa exitosamente
Devuelve = varios, pero tipicamente no-cero para indicar completación exitosa para fácil lectura de código...

If someUserFunc() then ;...función trabaja
If Not someUserFunc() then ;...función falla

$x = FileReadLine("C:\someFile.txt")
If @error = -1 Then ;fin-de-archivo se cumple

Si una función puede fijar la bandera de @error, siempre es muy bueno revisarlo antes de que devuelva un valor - si @error indica que hay un error entonces la función devuelve un valor generado indefinidamente...


Función ClipGet

Referencia de función

ClipGet

Captura el texto del portapaleles (clipboard).

ClipGet ( )

Parámetros

Ninguno.

Valor devuelto

Al completar: Devuelve una cadena de texto conteniendo el texto en el portapapeles (clipboard).
Al fallar: Fija @error a 1 si el portapapeles está vacío o contiene una entrada no-texto.

Observaciones

Ninguno.

Relacionados

ClipPut

Ejemplo

$bak = ClipGet()
MsgBox(0, "Clipboard contiene:", $bak)

ClipPut($bak & "texto adicional")
MsgBox(0, "Clipboard contiene:", ClipGet())


Función ClipPut

Referencia de función

ClipPut

Pone texto al portapapeles (clipboard).

ClipPut ( "valor" )

Parámetros

valor El texto a escribir en el portapeles (clipboard).

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

Algún contenido existente en el portapapeles está sobreescrito.

Relacionados

ClipGet

Ejemplo

ClipPut("Texto copiado usando ClipPut!")


Función EnvGet

Referencia de función

EnvGet

Captura una variable de ambiente.

EnvGet ( "envvariable" )

Parámetros

envvariable Nombre la variable de ambiente a obtener, tal como "TEMP" o "PATH".

Valor devuelto

Devuelve la variable solicitada (o una cadena de texto vacía si la variable no existe).

Observaciones

Ninguno.

Relacionados

EnvSet, EnvUpdate

Ejemplo

$var = EnvGet("PATH")
MsgBox(4096, 'La variable de "Path" es:', $var)


Función EnvSet

Referencia de función

EnvSet

Escribe una variable de entorno.

EnvSet ( "envvariable" [, "valor"] )

Parámetros

envvariable | Nombre de la variable a obtener, ejem.: "COMSPEC" o "PATH".
valor | [Opcional] Valor a fijar en la variable. If no se especifica un valor, la variable será borrada.

Valor devuelto

Ninguno.

Observaciones

Una variable de ambiente sólo es accessible a programas que AutoIt crea (Run, RunWait). Una vez que AutoIt cierra, la variable deja de existir.

Relacionados

EnvGet, EnvUpdate

Ejemplo

EnvSet("MYENV", "esta es una prueba")


Función EnvUpdate

Referencia de función

EnvUpdate

Refresca el entorno del Sistema Operativo (OS).

EnvUpdate ( )

Parámetros

Ninguno.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1.

Observaciones

Similar al efecto de cerrar sesión y entrar de nuevo. Por ejemplo, cambiar el ambiente %path% tal vez no tome efecto hasta que la función EnvUpdate sea llamada (o al reiniciar/cerrar sesión).

Relacionados

EnvGet, EnvSet

Ejemplo

EnvUpdate()


Función DirCopy

Referencia de función

DirCopy

Copia un directorio y todos los sub-directorios y archivos del mismo. (Similar a XCOPY).

DirCopy( "directorio fuente", "directorio destino" [, bandera] )

Parámetros

directorio fuente | Dirección del directorio fuente (sin barra o pleca inversa doble). ejem. "C:\Path1"
directorio destino | Dirección del directorio destino (sin barra o pleca inversa doble). ejem. "C:\Path_Copy"
bandera | [opcional] Esta bandera determina la sobreescritura de archivo si ya existen: 0 = (por defecto) No sobreescribe archivos existentes 1 = Sobreescribe archivos existentes

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hubo un error copiando el directorio.

Observaciones

Si la estructura directorio no existe será creada si es posible.

Relacionados

DirRemove, FileCopy

Ejemplo

DirCopy("C:\My documents", "C:\Backups\MyDocs", 1)


Función DirCreate

Referencia de función

DirCreate

Crea un directorio/folder.

DirCreate( "dirección" )

Parámetros

dirección Trayecto de búsqueda (dirección) del directorio a crear.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hay un error creando el directorio.

Observaciones

Esta función puede crear todos los directorios "padres" en un determinado "path" si no existen.

Relacionados

DirRemove, FileCopy

Ejemplo

DirCreate("C:\test1\Folder1\Folder2")


Función DirMove

Referencia de función

DirMove

Mueve un directorio y todos los sub-directorios y archivos.

DirMove( "directorio fuente", "directorio destino" [, bandera] )

Parámetros

directorio fuente | Dirección del directorio fuente (sin barra o pleca inversa doble). ejem. "C:\Path1"
directorio destino | Dirección del directorio destino (sin barra o pleca inversa doble). ejem. "C:\Path_Copy"
bandera | [opcional] Esta bandera determina la sobreescritura de archivo si ya existen: 0 = (por defecto) No sobreescribe archivos existentes 1 = Sobreescribe archivos existentes

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hay un error moviendo el directorio.

Observaciones

Si la procedencia y destino son diferentes volúmenes o son direcciones UNC, una operación copiar/borrar será realizada mejor que un movimiento.

Si el destino ya existe y la bandera está en sobreescritura, el directorio será movido dentro del destino.

Relacionados

DirRemove, DirMove

Ejemplo

DirMove("C:\My documents", "C:\Backups\MyDocs")


Función DirRemove

Referencia de función

DirRemove

Elimina un directorio/folder.

DirRemove ( "dirección" [,recurso] )

Parámetros

dirección | Dirección del directorio a crear.
recurso | [opcional] Usa esta bandera para especificar si quiere borrar también los sub-directorios. 0 = (por defecto) No remueve archivos y sub-directorios 1 = Remueve archivos y subdirectorios (Como el comando DELTREE)

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hay un error removiendo el directorio (o si no existe).

Observaciones

Ninguno.

Relacionados

DirCreate, FileRecycle

Ejemplo

; Elimina C:\test1, archivos y todos los subdirs
DirRemove("C:\test1", 1)


Función DriveGetDrive

Referencia de función

DriveGetDrive

Devuelve un arreglo conteniendo las unidades enumeradas.

DriveGetDrive ( "tipo" )

Parámetros

tipo Tipo de unidad a buscar:
"ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", or "UNKNOWN"

Valor devuelto

Al completar: Devuelve un arreglo de cadenas de texto (letra de unidad seguido por dos puntos) de unidades encontradas. En el elemento cero del arreglo contiene el número de unidades encontradas.
Al fallar: Devuelve 1 y fija @error a 1.

Observaciones

Ninguno.

Relacionados

DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

$var = DriveGetDrive( "all" )
If NOT @error Then
MsgBox(4096,"", $var[0] & " unidades encontradas")
For $i = 1 to $var[0]
MsgBox(4096,"Unidad= " & $i, $var[$i])
Next
EndIf


Función DriveGetFileSystem

Referencia de función

DriveGetFileSystem

Devuelve el tipo de almacenamiento de una unidad.

DriveGetFileSystem ( "dirección" )

Parámetros

dirección Dirección de la unidad que se recibirá información.

Valor devuelto

Al completar: Devuelve el tipo de sistema de archivo de la unidad como una cadena de texto; ver la tabla abajo.
Al fallar: Fija @error a 1.
Valor a devolver | Interpretación
1 (numérico) | Unidad NO contiene (CD, Floppy, Zip) o media está sin formato (RAW).
"FAT" | Típicamente el sistema de archivo para unidades bajo ~500 MB tal como un Floppy, discos RAM, unidades USB, etc.
"FAT32" | Típicamente el sistema de archivo para Windows 9x/Me.
"NTFS" | Típicamente el sistema de archivo para Windows Nt/2000/XP.
"CDFS" | Típicamente indica un CD (o una imágen ISO montada como una unidad virtual de CD).
"UDF" | Típicamente indica un DVD.

Observaciones

La lista de posibles valores a devolver quizá esté incompleta.

Relacionados

DriveGetDrive, DriveGetLabel, DriveGetSerial, DriveGettype, DriveSetLabel, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

$var = DriveGetFileSystem( "c:\" )
MsgBox(4096,"Tipo de sistema de archivos:", $var)


Función DriveGetLabel

Referencia de función

DriveGetLabel

Devuelve la Etiqueta de Volúmen de una unidad, si hay una.

DriveGetLabel ( "dirección" )

Parámetros

Dirección Dirección de la unidad a recibir información.

Valor devuelto

Al completar: Devuelve la Etiqueta de Volúmen de la unidad como una cadena de texto.
Al fallar: Fija @error a 1.

Observaciones

Ninguno.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetSerial, DriveGettype, DriveSetLabel, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

$var = driveGetLabel( "c:\" )
MsgBox(4096,"Volume Label: ",$var)


Función DriveGetSerial

Referencia de función

DriveGetSerial

Devuelve el número de serie de una unidad.

DriveGetSerial ( "dirección" )

Parámetros

dirección Dirección de la unidad a recibir información.

Valor devuelto

Al completar: Devuelve el número de serie de la unidad como una cadena de texto.
Al fallar: Fija @error a 1.

Observaciones

Ninguno.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGettype, DriveSetLabel, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

$var = DriveGetSerial( "c:\" )
MsgBox(4096, "Número de serie: ", $var)


Función DriveGetType

Referencia de función

DriveGetType

Devuelve el tipo de unidad.

DriveGetType ( "dirección" )

Parámetros

dirección Dirección de la unidad a recibir información.

Valor devuelto

Al completar: Devuelve el tipo de unidad: "Unknown", "Removable", "Fixed", "Network", "CDROM", "RAMDisk"
Al fallar: Devuelve 1 y fija @error a 1.

Observaciones

La lista de posibles valores a devolver quizá esté incompleta.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveSetLabel, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

$var = DriveGetType( "c:\" )
MsgBox(4096, "Drive Type:", $var)


Función DriveMapAdd

Referencia de función

DriveMapAdd

Mapea una unidad de red.

DriveMapAdd( "dispositivo", "remoto compartido" [, banderas [, "usuario" [, "contraseña"]]] )

Parámetros

dispositivo | El nombre de dispositivo a mapear, por ejemplo "O:" o "LPT1:". Si pasas una cadena de texto vacía para este párametro una conección es hecha pero no mapeada a la unidad especificada. Si especifica "*" en una unidad no usada la unidad de la letra será automáticamente seleccionada.
remoto compartido | El nombre o dirección remota para compartir de la forma: "\\server\share".
banderas | [opcional] Una combinación de lo siguiente: 0 = Por defecto 1 = Mapeo persistente 8 = Mostrar el cuadro de autenticación si es requerido
usuario | [opcional] El nombre de usuario al conectar. En la forma "nombre de usuario" o "dominio\nombre de usuario".
contraseña | [opcional] La contraseña para usar al conectar.

Valor devuelto

Observaciones

Cuando la función falla (devuelve 0) @error contiene información extendida:
1 = Indefinido / Otro error
2 = Acceso al recurso remoto compartido fué denegado
3 = La unidad está en uso
4 = Nombre de dispositivo inválido
5 = Nombre inválido del recurso compartido
6 = Contraseña inválida

Nota: Cuando se está usando "*" para el parámetro de la unidad la letra seleccionada será devuelta 1 ó 0, ejem. "U:". Si hubo un error usando "*" la cadena de texto vacía "" será devuelta.

Relacionados

DriveMapDel, DriveMapGet

Ejemplo

; Mapea la unidad X, usando el usuario actual \\myserver\stuff
DriveMapAdd("X:", "\\myserver\stuff")

; Mapea la unidad X, \\myserver2\stuff2 usando el usuario "jon" de "domainx" con la contraseña "tickle"
DriveMapAdd("X:", "\\myserver2\stuff2", 0, "domainx\jon", "tickle")


Función DriveMapDel

Referencia de función

DriveMapDel

Desconecta una unidad de red.

DriveMapDel( "dispositivo" )

Parámetros

unidad El dispositivo a desconectar, ejem. "O:" o "LPT1:".

Valor devuelto

Al completar: | Devuelve 1.
Al fallar: | Devuelve 0 si la desconexión no tuvo éxtio.

Observaciones

Si una conección no tiene una letra de unidad mapeada tal vez puede usar el nombre de conección a desconectar, ejem \\server\share

Relacionados

DriveMapAdd, DriveMapGet

Ejemplo

; Unidad Map X \\myserver\stuff usando el usuario actual
DriveMapAdd("X:", "\\myserver\stuff")

; Desconecta
DriveMapDel("X:")


Función DriveMapGet

Referencia de función

DriveMapGet

Devuelve los detalles de una unidad mapeada.

DriveMapGet( "dispositivo" )

Parámetros

dispositivo La letra del dispositivo (unidad o impresora) a buscar. Ejem. "O:" o "LPT1:"

Valor devuelto

Al completar: | Devuelve los detalles esperados del mapeo, ejem.: \\server\share
Al fallar: | Devuelve una cadena de texto vacía "" y fija @error a 1.

Observaciones

Ninguno.

Relacionados

DriveMapAdd, DriveMapDel

Ejemplo

; Mapea la unidad X a \\myserver\stuff usando el usuario actual
DriveMapAdd("X:", "\\myserver\stuff")

; Obtener detalles
MsgBox(0, "Unidad X: está mapeado a", DriveMapGet("X:"))


Función DriveSetLabel

Referencia de función

DriveSetLabel

Fija la etiqueta de volúmen de una unidad.

DriveSetLabel ( "dirección", "etiqueta" )

Parámetros

dirección | Dirección de la unidad a cambiar (renombrar etiqueta).
etiqueta | La nueva etiqueta a fijar para la unidad. (11 caracteres usualmente la longitud máxima)

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

Mayoría de unidades tienen una longitud de caracteres máxima de 11 caracteres, y DriveSetLabel falla si la longitud sobrepasa el máximo permitido. También, partición FAT32 tiende a revertir a mayúsculas.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGettype, DriveSpaceFree, DriveSpacetotal, DriveStatus

Ejemplo

DriveSetLabel("C:\", "New_Label")


Función DriveSpaceFree

Referencia de función

DriveSpaceFree

Devuelve el espacio libre en la unidad(en MegaBytes) de una dirección.

DriveSpaceFree ( "dirección" )

Parámetros

dirección Dirección de la unidad a recibir información.

Valor devuelto

Al completar: Devuelve el espacio libre de la unidad en Megabytes como un número flotante (decimales).
Al fallar: Devuelve 1 y dija @error a 1.

Observaciones

DriveSpaceFree puede trabajar con direcciones de directorios (que existan). Sin embargo, una dirección de archivo no funcionará.
Use la función Round si el valor devuelto es muy preciso.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGettype, DriveSetLabel, DriveSpacetotal, DriveStatus

Ejemplo

Ninguno.
$var = DriveSpaceFree( "c:\" )
MsgBox(4096, "Espacio libre en C:", $var & " MB")


Función DriveSpacetotal

Referencia de función

DriveSpacetotal

Devuelve el espacio en disco en Megabytes de una dirección dada.

DriveSpacetotal ( "dirección" )

Parámetros

dirección Dirección de la unidad a recibir información.

Valor devuelto

Al completar: Devuelve el espacio en disco en Megabytes como número decimal.
Al fallar: Fija @error a 1.

Observaciones

DriveSpacetotal puede trabajar con direcciones de directorios (que existan). Sin embargo, una dirección de archivo no funcionará.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGettype, DriveSetLabel, DriveSpaceFree, DriveStatus

Ejemplo

$var = DriveSpacetotal( "c:\" )
MsgBox(4096, "Espacio total en C:", $var & " MB")


Función DriveStatus

Referencia de función

DriveStatus

Devuelve el estado de la unidad como una cadena de texto.

DriveStatus ( "dirección" )

Parámetros

dirección Dirección de la unidad a recibir información.

Valor devuelto

Devuelve valor | Interpretación
UNKNOWN | Unidad tal vez no tenga formato (RAW).
READY | Típicamente en discos duros y unidades que no contiene medios removibles.
NOTREADY | Típicamente son unidades floppy y CD que contienen medios removibles.
INVALID | Tal vez no exista la letra de unidad o no está accesible en la red.

Observaciones

La lista de posibles errores puede estar incompleta.
DriveStatus puede trabajar con direcciones de directorios (que existan). Sin embargo, una dirección de archivo no funcionará.

Relacionados

DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGettype, DriveSetLabel, DriveSpaceFree, DriveSpacetotal

Ejemplo

$var = DriveStatus( "c:\" )
MsgBox(4096,"Status",$var)


Función FileChangeDir

Referencia de función

FileChangeDir

Cambia el directorio actual de trabajo.

FileChangeDir ( "dirección" )

Parámetros

Dirección Nueva dirección de crear como directorio actual.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el directorio no se cambió.

Observaciones

Ninguno.

Relacionados

@WorkingDir

Ejemplo

FileChangeDir("C:\Windows")


Función FileClose

Referencia de función

FileClose

Cierra un archivo previamente abierto.

FileClose ( filehandle )

Parámetros

filehandle el handle* o apuntador del archivo, devuelto de una llamada previa de FileOpen.

Valor devuelto

Ninguno.

Observaciones

*APUNTADOR (HANDLE): Nombre generado por el sistema para manipular un archivo. Generalmente es obtenido al usar FileOpen()
Si filehandle es inválido, un error de rutina muestra AutoIt, y el script terminará!
Al terminar, AutoIt automaticamente cierra automáticamente los archivos abiertos -- pero es buena práctica usar FileClose.
Esta función también es usada para cerrar apuntadores de búsquedas devueltas por FileFindFirstFile().

Relacionados

Ninguno.

Ejemplo

$handle = FileOpen("test.txt", 0)

FileClose($handle)


Función FileCopy

Referencia de función

FileCopy

Copia uno o más archivos.

FileCopy ( "origen", "destino" [, bandera] )

Parámetros

origen | La dirección de origen del archivo(s) a copiar. Comodínes son soportados.
dest | La dirección destino del archivo copiado(s).
bandera | [opcional] Esta bandera determina que archivos se sobreescribirán si ya existen: 0 = (por defecto) No sobreescribir los archivos existentes 1 = Sobreescribir los archivos existentes

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

El archivo destino debe existir.
Ver FileFindFirstFile para ver sobre comodínes.

Relacionados

FileMove, FileDelete, DirCopy

Ejemplo

FileCopy("C:\*.au3", "D:\mydir\*.*")

; método para copiar un folder (con el contenido)
DirCreate("C:\old")
FileCopy("C:\old\*.*", "C:\new\")


Función FileCreateShortcut

Referencia de función

FileCreateShortcut

Crea un acceso directo (.lnk) de un archivo.

FileCreateShortcut ( "archivo", "lnk" [, "workdir", "args", "desc", "icon", "hotkey", número de icono, estado] )

Parámetros

archivo | Dirección completa y nombre del archivo a crearle el acceso.
lnk | Dirección completa y nombre del archivo (incluyendo .lnk) del acceso.
workdir | [opcional] Directorio de trabajo.
args | [opcional] Argumentos adicionales de acceso.
desc | [opcional] Descripción de archivo.
icon | [opcional] Dirección completa de un ícono a usar.
hotkey | [opcional] Hotkey - igual que el formato de Send(). Teclas de acceso rápido.
número de ícono | [opcional] La instancia de ícono para usar (usualmente 0)
estado | [opcional] El estado del acceso del que es cargado. Usar cualquiera de @SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE o @SW_SHOWMAXIMIZED

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el lnk no puede ser creado.

Observaciones

Hotkeys para accesos directos en Windows son de la forma siguiente: Ctrl+Alt+X, Ctrl+Shift+X, Shift+Alt+X, Ctrl+NumPadKey, o Alt+NumPadKey donde X representa una letra, número, punctuación, o tecla de función. Si se especifica una forma inválida, Windows típicamente por defecto lo deja a Ctrl+Alt
Nótese que Windows distingue la teclas de números de un número regular y punctuación. FileCreateShortcut permite crear accesos Ctrl+X y Alt+X (Windows normalmente sólo permite cuando X es una tecla del teclado numérico); sin embargo, usted podría evitar estas asignaciones para no tener conflictos con HotKeys de otros programas estándars.
Windows prohibe ESC, ENTER, TAB, SPACEBAR, PRINT SCREEN, SHIFT, o BACKSPACE de usarlos como Hotkeys.

FileCreateShortcut no requiere un objetivo válido, workdir, ícono, o hotkey en orden para "finalizar éxitosamente" creando el archivo LNK; sin embargo, the destino del archivo LNK debe ser válido! Si la tecla de acceso rápido (hotkey) escojida ya está en usar, el nuevo acceso directo toma precedencia. También, si al crear un acceso directo con la misma dirección\nombre como un pre-existente, será nombrado con la nueva versión.

Relacionados

FileGetShortcut

Ejemplo

; Fija un acceso directo con teclas ctrl+alt+t
FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut Test.lnk",@WindowsDir,"/e,c:\", "Esta es la prueba de creación de acceso directo a Explorer ;-)", @SystemDir & "\shell32.dll", "^!t", "15", @SW_MINIMIZE)


Función FileDelete

Referencia de función

FileDelete

Elimina uno o más archivos.

FileDelete ( "dirección" )

Parámetros

Dirección La dirección de un archivo(s) a elimnar. Comodínes son soportados.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si los archivos no fueron eliminados o no existen.

Observaciones

Ver FileFindFirstFile para info sobre los comodínes.

Relacionados

FileCopy, FileMove, FileRecycle, DirRemove

Ejemplo

FileDelete("D:\*.tmp")


Función FileExists

Referencia de función

FileExists

Revisa si un archivo o directorio existe.

FileExists ( "dirección" )

Parámetros

Dirección El directorio o archivo a comprobar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si no existe el archivo o directorio.

Observaciones

FileExists devuelve 0 si usted especificó una unidad de diskette (floppy drive) que no contiene un disco.

Relacionados

FileGetAttrib, DriveStatus

Ejemplo

If FileExists("D:\") then
MsgBox(4096, "D: existe.")
Else
MsgBox(4096,"", "D: no existe.")
EndIf


Función FileFindFirstFile

Referencia de función

FileFindFirstFile

Devuelve el nombre de un archivo de acuerdo a una cadena de texto dada.

FileFindFirstFile ( "nombre de archivo" )

Parámetros

nombre de archivo Cadena de texto de archivo a buscar. (* y ? son comodínes aceptados)

Valor devuelto

Al completar: Devuelve un apuntador de la búsqueda o usado subsecuentemente de funciones FileFindNextFile.
Al fallar: Fija @error a 1.

Observaciones

La cadena de texto buscada no es caso sensitivo.
Comodínes: En general, * denota cero o más caracteres, y ? denota cero o un caracter. Si el archivo buscado (cadena de texto) contiene sólo comodínes (o es "*.*"), revisar el ejemplo de abajo para ver el valor devuelto!
Cuando ha finalizado la búsqueda con funciones FileFind.. se debe llamar a FileClose() para completar la operación.

Relacionados

FileClose, FileFindNextFile

Ejemplo

; Muestra los nombres de todos los archivos en el directoio actual, note que "." y ".." no son devueltos.
$search = FileFindFirstFile("*.*")

; Revisa si la búsqueda fué exitosa
If $search = -1 Then
MsgBox(0, "Error", "No hay archivos/directorios según el patrón de búsqueda")
Exit
EndIf

While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop

MsgBox(4096, "Archivo:", $file)
WEnd

; Cerrar el apuntador de archivo
FileClose($search)


Función FileFindNextFile

Referencia de función

FileFindNextFile

Devuelve un nombre de archivo según una llamada previa de FileFindFirstFile.

FileFindNextFile ( $busqueda )

Parámetros

$busqueda El apuntador (handle) devuelto por FileFindFirstFile.

Valor devuelto

Al completar: Devuelve un nombre de archivo según una llamada previa de FileFindFirstFile.
Al fallar: Fija @error a 1 si no hay más archivos a buscar.

Observaciones

Una llamada previa de FileFindFirstFile es necesaria. cada llamada subsecuente a
FileFindNextFile devolvuelve el próximo archivo encontrado según a lo buscado
suplido en FileFindFirstFile. Cuando @error = 1, significa que no hay más archivos encontrados de la búsqueda original.
Cuando ha finalizado la búsqueda con funciones FileFind.. se debe llamar a FileClose() para completar la operación.

Relacionados

FileFindFirstFile

Ejemplo

; Muestra los nombres de todos los archivos en el directoio actual, note que "." y ".." no son devueltos.
$search = FileFindFirstFile("*.*")

; Revisa si la búsqueda fué exitosa
If $search = -1 Then
MsgBox(0, "Error", "No hay archivos/directorios según el patrón de búsqueda")
Exit
EndIf

While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop

MsgBox(4096, "Archivo:", $file)
WEnd

; Cerrar el apuntador de archivo
FileClose($search)


Función FileGetAttrib

Referencia de función

FileGetAttrib

Devuelve un cadena de texto representando los atributos de un archivo.

FileGetAttrib ( "nombre de archivo" )

Parámetros

nombre de archivo Nombre de archivo (o directorio) a revisar.

Valor devuelto

Al completar: Devuelve una cadena de texto de códigos representando los atributos de un archivo.
Al fallar: Devuelve una cadena de texto vacía y fija @error a 1.

Observaciones

Devolvería una cadena de texto conteniendo una combinación de letras "RASHNDOCT":
"R" = READONLY (Sólo Lectura)
"A" = ARCHIVE (Archivo)
"S" = SYSTEM (Archivo de Sistema)
"H" = HIDDEN (Oculto)
"N" = NORMAL
"D" = DIRECTORY (Es un directorio / carpeta)
"O" = OFFLINE (Fuera de línea)
"C" = COMPRESSED (compresión NTFS, no una compresión ZIP)
"T" = TEMPORARY (TEMPORAL)

Relacionados

FileGetTime

Ejemplo

$attrib = FileGetAttrib(@HomeDrive & "\boot.ini")
If @error Then
MsgBox(4096,"Error", "No se pudieron obtener attributos.")
Exit
Else
If StringInStr($attrib, "R") Then
MsgBox(4096,"", "Archivo de lectura.")
EndIf
EndIf

; Muestra completa información de attributos en forma de texto
; StringSplit toma cada elemento como único
$input = StringSplit("R,A,S,H,N,D,O,C,T",",")
$output = StringSplit("Read-only /, Archive /, System /, Hidden /, _
Normal /, Directory /, Offline /, Compressed /, Temporary /", ",")
For $i = 1 to 9
$attrib = StringReplace($attrib, $input[$i], $output[$i], 0, 1)
; último parámetro en StringReplace significa caso-sensitivo
Next
$attrib = StringTrimRight($attrib, 2) ;removiendo
MsgBox(0,"Atributos del archivo:", $attrib)


Función FileGetLongName

Referencia de función

FileGetLongName

Devuelve el nombre largo (dirección+nombre) del nombre+dirección.

FileGetLongName ( "archivo" )

Parámetros

archivo Dirección completa y nombre de archivo a convertir

Valor devuelto

Al completar: Devuelve el nombre largo de un archivo.
Al fallar: Devuelve el parámetro y fija @error a 1.

Observaciones

Ninguno.

Relacionados

FileGetShortName

Ejemplo

$a = FileGetLongName("C:\PROGRA~1\")
;$a es probable que "C:\Program Files"


Función FileGetShortcut

Referencia de función

FileGetShortcut

Recupera detalles de un acceso directo (shortcut).

FileGetShortcut ( "lnk" )

Parámetros

lnk Dirección completa y nombre de archivo del shortcut.

Valor devuelto

Al completar: | Devuelve un arreglo que contiene la información del acceso directo. Ver Observaciones.
Al fallar: | Fija @error a 1 si el acceso directo no pudo ser ser accedido.

Observaciones

El arreglo devuelto contiene una dimension simple conteniendo los siguientes elementos:
$array[0] = Dirección al acceso
$array[1] = Directorio actual de trabajo (Working directory)
$array[2] = Argumentos
$array[3] = Descripción
$array[4] = Nombre de Icono
$array[5] = Indice de Iconos
$array[6] = El estado del acceso directo (@SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE, @SW_SHOWMAXIMIZED)

Relacionados

FileCreateShortcut

Ejemplo

; Fija un acceso directo con las teclas ctrl+alt+t hotkey
FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut Test.lnk",@WindowsDir,"/e,c:\", "This is an Explorer link;-)", @SystemDir & "\shell32.dll", "^!t", "15", @SW_MINIMIZE)

; Ve la información del mismo
$details = FileGetShortcut(@DesktopDir & "\Shortcut Test.lnk")
MsgBox(0, "Dirección:", $details[0])


Función FileGetShortName

Referencia de función

FileGetShortName

Devuelve el nombre corto 8.3 de una dirección+nombre de archivo.

FileGetShortName ( "archivo" )

Parámetros

archivo Dirección completa y nombre de archivo a convertir.

Valor devuelto

Al completar: Devuelve el nombre corto 8.3 de una dirección+nombre de archivo.
Al fallar: Devuelve el parámetro y fija @error a 1.

Observaciones

Util para convertir/ver los nombres cortos (8.3), generalmente generados en DOS.

Relacionados

FileGetLongName

Ejemplo

$a = FileGetShortName("C:\Program Files")
;$a es probable que sea "C:\PROGRA~1"


Función FileGetSize

Referencia de función

FileGetSize

Devuelve el tamaño de un archivo en bytes.

FileGetSize ( "nombre de archivo" )

Parámetros

nombre de archivo Nombre de archivo a revisar.

Valor devuelto

Ninguno.

Observaciones

No trabaja en directorios.
Divide el resultado por 1024 para obtener el equivalente en kilobytes(KB), o divídase por 1048576 para obtener el equivalente en megabytes (MB).

Relacionados

FileGetAttrib, FileGetTime, DriveSpacetotal

Ejemplo

$size = FileGetSize("AutoIt.exe")


Función FileGetTime

Referencia de función

FileGetTime

Devuelve la hora y fecha de un archivo.

FileGetTime ( "nombre de archivo" [,opción] )

Parámetros

nombre de archivo | Nombre de archivo un revisar.
opción | [opcional] bandera que indica que info. se requiere del archivo 0 = Modificado (por defecto) 1 = Creado 2 = Acesado

Valor devuelto

Al completar: Devuelve un arreglo que contiene la información de fecha de un archivo. Ver Observaciones.
Al fallar: Devuelve 1 y fija @error a 1.

Observaciones

El arreglo es una dimension-simple conteniendo seis elementos:
$array[0] = año (cuatro dígitos)
$array[1] = mes (rango 1 - 12)
$array[2] = día (rango 1 - 31)
$array[3] = hora (rango 1 - 23)
$array[4] = min (rango 0 - 59)
$array[5] = seg (rango 0 - 59)
Note que los valores devueltos serían simples dígitos.

Relacionados

FileGetSize, FileGetAttrib, FileGetVersion, FileSetTime

Ejemplo

$t = FileGetTime("C:\Windows\Notepad.exe", 1)

If Not @error then
$yyyymd = $t[0] & "/" & $t[1] & "/" & $t[2]
MsgBox(0, "Fecha de Creacion de notepad.exe", $yyyymd)
EndIf


Función FileGetVersion

Referencia de función

FileGetVersion

Devuelve la información de versión de un "Archivo".

FileGetVersion ( "nombre de archivo" )

Parámetros

nombre de archivo Nombre de archivo a revisar.

Valor devuelto

Al completar: Devuelve una cadena de texto conteniendo la información de versión, ejem "3.0.100".
Al fallar: Devuelve "0.0.0.0" si la información de versión no existe (u otro error), y fija @error a 1.

Observaciones

Ninguno.

Relacionados

FileGetSize, FileGetTime

Ejemplo

$ver = FileGetVersion("Explorer.exe")
MsgBox(0, "Versión de Explorer", $ver)


Función FileInstall

Referencia de función

FileInstall

Incluye e instala un archivo con el archivo compilado.

FileInstall ( "origen", "destino" [,bandera] )

Parámetros

origen | La dirección del archivo a compilar. Debe ser una cadena de texto; no puede ser un variable.
dest | La dirección de destino con una pleca invertida. Este puede ser una variable.
bandera | [opcional] Esta bandera determina la sobreescritura de archivos: 0 = (por defecto) No sobreescribir los archivos existentes 1 = Sobreescribir los archivos existentes

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

La función FileInstall es designada para incluir archivos en un script compilado de AutoIt. Estos archivos incluídos pueden ser "extraídos" durante la ejecución del script compilado. Tenga presente que, que los archivos como imágenes pueden incrementar el tamaño de un script compilado.
El archivo fuente/origen debe ser una cadena de texto y no una variable que el compilador extraerá. Y no debe contener comodínes.

Cuando esta función es usada de un script no-compilado, una operación de copiar es realizada. (para probar fácil pre-compilación).
Los archivos pueden mantener su creación de fecha original cuando se instala.

Relacionados

#Include

Ejemplo

FileInstall("C:\test.au3", "D:\mydir\test.au3")


Función FileMove

Referencia de función

FileMove

Mueve uno o más archivos

FileMove ( "origen", "destino" )

Parámetros

origen | La dirección fuente/origen y nombre de archivo de a mover.
dest | Dirección destino y nombre de archivo donde el archivo será movido.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si origen no puede ser movido o si dest ya existe.

Observaciones

Si el origen y destino están en diferentes volúmenes una operación de copiar y borrar es realizada en vez de mover.

Relacionados

FileCopy, FileDelete, FileRecycle, DirMove

Ejemplo

FileMove("C:\foo.au3", "D:\mydir\bak.au3")


Función FileOpen

Referencia de función

FileOpen

Abre un archivo de texto para leer o escribir.

FileOpen ( "nombre de archivo", modo )

Parámetros

nombre de archivo | Nombre del archivo de texto a abrir.
modo | Mode (lectura o escritura) a abrir en el archivo. 0 = Modo de lectura 1 = Modo de escritura (adjunta al final de la línea del archivo) 2 = Modo escritura 2 (borra el contenido previo del archivo) Modos 1 y 2 (de escritura) pueden ser creados si el archivo no existe.

Valor devuelto

Al completar: Devuelve el apuntador (handle) de un archivo o usa un archivo subsecuente.
Al fallar: Devuelve -1 si un error ocurre.

Observaciones

AutoIt puede abrir simultánemente hasta de 64 archivos. Excediendo este límite lanzará un error de tiempo en ejecución (run-time error) y
un archivo sólo puede ser abierto en modo de lectura o escritura; no en ambos.
Cuando se abre un archivo en modo de escritura, el archivo se creará si no existe.
Cuando finalice de trabajar con un archivo, llame la función FileClose para cerrar el archivo. Autoit normalmente cierra todos los archivos al finalizar, pero es buena práctica explícitamente llamar FileClose.

Relacionados

FileClose, FileReadLine, FileWriteLine

Ejemplo

$file = FileOpen("test.txt", 0)

; Revisa si el archivo está abierto para lectura
If $file = -1 Then
MsgBox(0, "Error", "No se pudo abrir el archivo.")
Exit
EndIf

FileClose($file)


Función FileOpenDialog

Referencia de función

FileOpenDialog

Inicia un cuadro de diálogo de Abrir archivo.

FileOpenDialog ( "título", "dir inicial", "filtro" [, opciones [, "nombre por defecto"]] )

Parámetros

título | Texto del título del cuadro de diálogo GUI.
dir inicial | Directorio inicial selecto en el árbol de archivos GUI.
filtro | Filtro para tipos de archivos tal como "Todos los archivos (*.*)" o "Archivos de texto (*.txt)"
opciones | [opcional] Opciones: para usar más de una opción, agregar los valores requeridos juntos. 1 = Archivo debe existir (si el usuario escribe el nombre del archivo) 2 = Dirección debe existir (si el usuario escribe una dirección) 4 = Permitir multiselección 8 = Preguntar por crear un nuevo archivo (si no existe) 16 = Preguntar si se sobreescribirá el archivo (ver FileSaveDialog)
nombre por defecto | Nombre sugerido por defecto que el usuario abra.
 | 0

Valor devuelto

Al completar: Devuelve la dirección completa del archivo(s) escojido(s).
Al fallar: Fija @error a 1.

Observaciones

Separar los filtros de archivos con un punto y coma como se muestra en el ejemplo.
Nota: Por el momento, grupos múltiples de filtros no son soportados.

Si el nombre por defecto es dado, las opciones deben ser dadas. Si ninguna de las opciones se quieren, use 0 for options.

Directorio especial de Windows (tal como "Mis documentos") puede ser el inicial; ver el Apéndice.

Relacionados

FileSaveDialog, FileSelectFolder, StringSplit

Ejemplo

$message = "Presionar Ctrl o Shift para seleccionar más de uno."

$var = FileOpenDialog($message, "C:\Windows\", "Imagenes (*.jpg;*.bmp)", 1 + 4 )

If @error Then
MsgBox(4096,"","No hay archivos seleccionados")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","Seleccionado: " & $var)
EndIf


Función FileRead

Referencia de función

FileRead

Lee un número de caracteres de un archivo de texto previamente abierto.

FileRead ( apuntador de archivo (filehandle) o "nombre de archivo", cantidad )

Parámetros

indicador de archivo | El apuntador de archivo(handle), devuelto de una llamada previa de FileOpen. Como alternativa puede usarse una cadena de texto como nombre de archivo para el primer parámetro.
cantidad | El número de caracteres a leer.

Valor devuelto

Al completar: Devuelve los caracteres leídos.
Especial: Fija @error a -1 si llega la final-de-archivo.
Al fallar: Fija @error a 1 si el archivo no está abierto en modo lectura u otro error.

Observaciones

Si un nombre de archivo es determinado antes que un indicador de archivo (handle) - el archivo será abierto y cerrado durante la función lo llame - para analizar archivos de texto grandes en tamaño, usando indicadores será más lento el proceso.
Nota: No mezclar indicadores (filehandles) y nombres de archivos, ejem., Usar FileOpen al abrir un archivo y luego usar ese nombre de archivo en esta misma función. Tampoco indicadores o nombres de archivos en sus rutinas--no ambas!

Relacionados

IniRead, FileClose, FileOpen, FileReadLine, FileWrite, FileWriteLine

Ejemplo

$file = FileOpen("test.txt", 0)

; Revisa si el archivo está listo para abrir
If $file = -1 Then
MsgBox(0, "Error", "Archivo no se pudo abrir.")
Exit
EndIf

; Lee 1 caracter a la vez, hasta que FDA (Fin De Archivo) es encontrado
While 1
$chars = FileRead($file, 1)
If @error = -1 Then ExitLoop
MsgBox(0, "Caract. leído:", $chars)
Wend

FileClose($file)


Función FileReadLine

Referencia de función

FileReadLine

Lee una línea de texto de un archivo de texto previamente abierto.

FileReadLine ( apuntador de archivo o "nombre de archivo" [, línea] )

Parámetros

apuntador de archivo | El apuntador de archivo(handle), devuelto de una llamada previa de FileOpen. Como alternativa puede usarse una cadena de texto como nombre de archivo para el primer parámetro.
línea | [opcional] El número de línea a leer. La primer línea de texto file es la línea 1 (no cero).

Valor devuelto

Al completar: Devuelve 0.
Especial: Fija @error a -1 si llega la final-de-archivo.
Al fallar: Fija @error a 1 si el archivo no está abierto en modo lectura u otro error.

Observaciones

Devuelve el texto de la línea a leer, una nueva línea de caracteres ( CHR(10) o @LF ) al final de una línea leída es automáticamente cortada.
Si no existe el número de línea determinada, la "próxima" línea será leída. ("Próxima" para un nuevo archivo abierto es inicialmente la primera línea.)
Si un nombre de archivo es determinado antes que un apuntador de archivo (handle) - el archivo será abierto y cerrado durante la función lo llame - para analizar archivos de texto grandes en tamaño, usando apuntadores será más lento el proceso.
Nota: No mezclar apuntadores (filehandles) y nombres de archivos, ejem., Usar FileOpen al abrir un archivo y luego usar ese nombre de archivo en esta misma función. Tampoco apuntadores o nombres de archivos en sus rutinas--no ambas!

Relacionados

IniRead, FileClose, FileOpen, FileWriteLine, FileRead, FileWrite, FileWriteLine

Ejemplo

$file = FileOpen("test.txt", 0)

; Revisa si el archivo está listo para abrir
If $file = -1 Then
MsgBox(0, "Error", "Archivo no se pudo abrir.")
Exit
EndIf

; Lee líneas de texto hasta que aparece EOF (End Of File= Fin de Archivo)
While 1
$line = FileReadLine($file)
If @error = -1 then ExitLoop
MsgBox(0, "Line leída:", $line)
Wend

FileClose($file)


Función FileRecycle

Referencia de función

FileRecycle

Envía un archivo o directorio a la papelera de reciclaje (recycle bin).

FileRecycle ( "origen" )

Parámetros

origen Dirección de un archivo(s) o directorio a Reciclar. Comodínes son soportados.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 (Típicamente significa que el archivo está en uso o no existe).

Observaciones

Ver FileFindFirstFile para info sobre los comodínes.
Al remover un directorio, simplemente especificar la dirección sin una pleca al final.

Relacionados

FileDelete, FileRecycleEmpty

Ejemplo

FileRecycle("C:\*.tmp")


Función FileRecycleEmpty

Referencia de función

FileRecycleEmpty

Vacía la papelera de reciclaje.

FileRecycleEmpty ( ["unidad"] )

Parámetros

origen [Opcional] La letra de unidad a vaciar - si es omitido este valor se vacía en todas las unidades.

Valor devuelto

Al fallar: Devuelve 0 (no se pudo vaciar - ver abajo).

Observaciones

Para esta función trabaja si IE4+ está disponible/instalado.

Relacionados

FileDelete, FileRecycle

Ejemplo

FileRecycleEmpty("C:\")


Función FileSaveDialog

Referencia de función

FileSaveDialog

Inicia un cuadro de diálogo de Guardar archivo.

FileSaveDialog ( "título", "dir inicial", "filtro" [, opciones [, "nombre por defecto"]] )

Parámetros

título | Texto del título del cuadro de diálogo GUI.
dir inicial | Directorio inicial selecto en el árbol de archivos GUI.
filtro | Filtro para tipos de archivos tal como "*.*" o "*.txt"
opciones | [opcional] Opciones: para usar más de una opción, agregar los valores requeridos juntos. 1 = Archivo debe existir (si el usuario escribe el nombre del archivo) 2 = Dirección debe existir (si el usuario escribe una dirección) 4 = Permitir multiselección 8 = Preguntar por crear un nuevo archivo (si no existe) 16 = Preguntar si se sobreescribirá el archivo
nombre por defecto | Nombre sugerido por defecto que el usuario abra.

Valor devuelto

Al completar: Devuelve el full path de lun archivo chosen.
Al fallar: Fija @error a 1.

Observaciones

Separar los filtros de archivos con un punto y coma como se muestra en el ejemplo.
Nota: Por el momento, grupos múltiples de filtros no son soportados.

Si el nombre por defecto es dado, las opciones deben ser dadas. Si ninguna de las opciones se quieren, use 0 for options.

Directorio especial de Windows (tal como "Mis documentos") puede ser el inicial; ver el Apéndice.

Relacionados

FileOpenDialog, FileSelectFolder

Ejemplo

$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"

$var = FileSaveDialog( "Choose a name.", $MyDocsFolder, "Scripts (*.aut;*.au3)", 3)
; option 3 = dialog remains until valid path/file selected

If @error Then
MsgBox(4096,"","Save cancelled.")
Else
MsgBox(4096,"","You chose " & $var)
EndIf


Función FileSelectFolder

Referencia de función

FileSelectFolder

Inicia una caja de diálogo de Búsqueda de Folders (GUI).

FileSelectFolder ( "texto de título", "dir raíz", bandera )

Parámetros

texto de título | Texto del título en caja de diálogo.
dir raíz | Directorio raíz de árbol de archivos. Use "" para que el escritorio sea la raíz.
bandera | [opcional] 1 = Muestra el botón de crear Folder/Directorio (requiere IE6.0 o superior) 2 = Usa el nuevo estilo de diálogo (requiere IE6.0 o superior) 4 = Muestra el Control de Editar (para escribir el nombre del folder)

Valor devuelto

Al completar: Devuelve la dirección del folder escojido.
Al fallar: Devuelve una cadena de texto en blanco y fija @error a 1 si el usuario cancela/cierra la ventana.

Observaciones

Al no existir el dir. raíz, es usado en su lugar el Escritorio como entrada.
La opción "Botón de crear folder" requiere Windows XP con IE6.
Folder especial de Windows (tal como "My documents") puede enviarse a raíz usando el CLSID detallado en el Apéndice.

Relacionados

FileSaveDialog, FileOpenDialog

Ejemplo

$var = FileSelectFolder("Escojer un archivo.", "", 0)


Función FileSetAttrib

Referencia de función

FileSetAttrib

Fija atributos de uno o más archivos.

FileSetAttrib ( "patrón de archivo", "+-RASHNOt" [, recurso] )

Parámetros

patrón de archivo | Archivo(s) a cambiar, ejem. C:\*.au3, C:\Dir
+-RASHNOT | atributo(s) a fijar/limpiar. ejem. "+A", "+RA-SH"
recurso | [opcional] Si este está en 1, los directorios están modo recurso. Por defecto es 0 (sin recursión).

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hay una errores.

Observaciones

El patrón no puede contener espacios!
Los atributos que pueden ser modificados por la función son + o -:
"R" = READONLY (Sólo Lectura)
"A" = ARCHIVE (Archivo)
"S" = SYSTEM (Archivo de Sistema)
"H" = HIDDEN (Oculto)
"N" = NORMAL
"O" = OFFLINE (Fuera de línea)
"T" = TEMPORARY (TEMPORAL)

(Nota se puede ver atributos de archivos compresos/directorios con esta función.)

Relacionados

FileGetAttrib, FileGetTime, FileSettime

Ejemplo

;Fija a todos los archivos .au3 en folder actual en modo de lectura (read-only)
FileSetAttrib("*.au3", "+R")
If @error Then MsgBox(4096,"Error", "Problema al configurar atributos.")

;Hace que todos los archivos .bmp en C:\ y sub-directorios estén en modo archivo y escribibles
FileSetAttrib("C:\*.bmp", "-R+A", 1)
If @error Then MsgBox(4096,"Error", "Problema al configurar atributos.")


Función FileSettime

Referencia de función

FileSettime

Fija el dato de fecha en un archivo o más.

FileSettime ( "patrón de archivo", "fecha", tipo [, recurso] )

Parámetros

patrón de archivo | Archivo(s) a cambiar, ejem. C:\*.au3, C:\Dir
fecha | La nueva fecha a fijar en el formato "YYYYMMDDHHMMSS" (Año, mes, día, horas (reloj de 24hr), segundos). Si el texto de hora está en blanco/vacío "" en su lugar es usada la fecha actual.
tipo | El tipo de estampa a cambiar: 0 = Modificado, 1 = Creado, 2 = Accesado
recurso | [opcional] Si este está en 1, los directorios están modo recurso. Por defecto es 0 (sin recursión).

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hubo un error al cambiar.

Observaciones

Bajo Windows 9x no es posible cambiar la fecha de un directorio; intertarlo hacer también es ignorado.

Relacionados

FileGetTime, FileGetAttrib, FileSetAttrib

Ejemplo

;cambia los archivos .au3's a "modificado" el 1ero. Nov 2003 y 00:00
$var = FileSettime("file.au3", "20031101")


Función FileWrite

Referencia de función

FileWrite

Agrega una línea de texto al final de un archivo abierto previamente.

FileWrite ( indicador de archivo o "nombre de archivo" [, línea] )

Parámetros

indicador de archivo | El indicador de archivo(handle), devuelto de una llamada previa de FileOpen. Como alternativa puede usarse una cadena de texto como nombre de archivo para el primer parámetro.
línea | La línea de texto a escribir al archivo de texto. La línea es escrita como es - no son agregados caracteres como @CR o @LF.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el archivo no fué abierto en modo de escritura, archivo es sólo de lectura, o no puede escribirse en el archivo.

Observaciones

El texto archivo debe estar abierto o en modo de escritura sino el comando fallará.
Si un nombre de archivo es determinado antes que un indicador de archivo (handle) - el archivo será abierto y cerrado durante la función lo llame - para analizar archivos de texto grandes en tamaño, usando indicadores será más lento el proceso.

Nota: No mezclar indicadores (filehandles) y nombres de archivos, ejem., Usar FileOpen al abrir un archivo y luego usar ese nombre de archivo en esta misma función. Tampoco indicadores o nombres de archivos en sus rutinas--no ambas!

Relacionados

FileClose, FileOpen, FileRead, FileReadLine, FileWriteLine

Ejemplo

$file = FileOpen("test.txt", 1)

; Revisa si el archivo está listo para abrir
If $file = -1 Then
MsgBox(0, "Error", "Archivo no se pudo abrir.")
Exit
EndIf

FileWrite($file, "Línea1")
FileWrite($file, "Sigue en Línea1" & @CRLF)
FileWrite($file, "Línea2")

FileClose($file)


Función FileWriteLine

Referencia de función

FileWriteLine

Agrega una línea de texto al final de un archivo abierto previamente.

FileWriteLine ( indicador de archivo o "nombre de archivo", "línea" )

Parámetros

indicador de archivo | El indicador de archivo(handle), devuelto de una llamada previa de FileOpen. Como alternativa puede usarse una cadena de texto como nombre de archivo para el primer parámetro.
línea | La línea de texto a escribir en el archivo de texto. Si la línea NO finaliza en @CR o @LF entonces un avance de línea en DOS (@CRLF) será agregado automáticamente.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el archivo no está abierto en modo lectura u otro error.

Observaciones

El texto archivo debe estar abierto o en modo de escritura sino el comando fallará.
Si un nombre de archivo es determinado antes que un indicador de archivo (handle) - el archivo será abierto y cerrado durante la función lo llame - para analizar archivos de texto grandes en tamaño, usando indicadores será más lento el proceso.
Nota: No mezclar indicadores (filehandles) y nombres de archivos, ejem., Usar FileOpen al abrir un archivo y luego usar ese nombre de archivo en esta misma función. Tampoco indicadores o nombres de archivos en sus rutinas--no ambas!

Relacionados

FileClose, FileOpen, FileRead, FileReadLine, FileWrite

Ejemplo

$file = FileOpen("test.txt", 1)

; Revisa si el archivo está listo
If $file = -1 Then
MsgBox(0, "Error", "No se puede abrir archivo.")
Exit
EndIf

FileWriteLine($file, "Línea1")
FileWriteLine($file, "Sigue en Línea1" & @LF)
FileWriteLine($file, "Línea2" & @LF)

FileClose($file)


Función IniDelete

Referencia de función

IniDelete

Elimina un valor del formato estándar archivo ".ini".

IniDelete ( "nombre de archivo", "sección", "tecla" )

Parámetros

nombre de archivo | El nombre del archivo .ini.
sección | El nombre de la secció en el archivo .ini.
clave | El nombre de la clave en el archivo .ini.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si la sección/clave no se encontró o si el archivo INI está en modo de lectura.

Observaciones

Un archivo ini estándar se ve así:
[NombredeSección]
Clave=Valor
Si el nombre de archivo no se encuentra, el archivo es creado.

Relacionados

IniRead, IniWrite

Ejemplo

IniDelete("C:\temp\myfile.ini", "sección2", "clave")


Función IniRead

Referencia de función

IniRead

Lee un valor de un formato estándar de archivo ".ini".

IniRead ( "nombre de archivo", "sección", "clave", "default" )

Parámetros

nombre de archivo | The nombre de archivo de la .ini file.
sección | El nombre de la sección en el archivo .ini.
clave | El nombre de la clave en el archivo .ini.
default | El valor por defecto a devolver si la clave solicitada no se encontró.

Valor devuelto

Al completar: Devuelve el valor de la clave solicitada.
Al fallar: Devuelve el valor fijado en default si no se encontró.

Observaciones

Un archivo ini estándar se ve así:
[NombredeSección]
Clave=Valor

Relacionados

IniDelete, IniWrite, FileReadLine

Ejemplo

$var = IniRead("C:\temp\myfile.ini", "seccion2", "clave", "Valor no encontrado")
MsgBox(4096, "Resultado", $var)


Función IniWrite

Referencia de función

IniWrite

Escribe un valor a archivo estándar .ini

IniWrite ( "nombre de archivo", "sección", "clave", "valor" )

Parámetros

nombre de archivo | El nombre del archivo .ini.
sección | El nombre de la sección en el archivo .ini.
clave | El nombre de la clave en el archivo .ini.
valor | El valor a escribir/cambiar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el archivo INI está en modo de lectura.

Observaciones

Un archivo ini estándar se ve así:
[NombredeSección]
Clave=Valor
Si el nombre de archivo no se encuentra, el archivo es creado. Claves y/o secciones son agregadas al final y no puestas en orden.

Relacionados

IniDelete, IniRead, FileWriteLine

Ejemplo

IniWrite("C:\temp\myfile.ini", "seccion2", "clave", "este el nuevo valor")


Función HotKeySet

Referencia de función

HotKeySet

Fija una combinación de teclas (hotkey), que llama a una función de usuario.

HotKeySet ( "tecla" [, "función"] )

Parámetros

tecla | La tecla(s) se usan como: HotKey. Como formato de Send().
función | [opcional] El nombre de la función a llamar cuando la tecla sea presionada. Deja en blanco desconfigura un hotkey anterior.

Valor devuelto

Observaciones

Hasta 64 hotkeys simultáneos pueden definirse.

Si dos scripts de AutoIt fijan los mismo HotKeys, se debe tener cuidado ejecutarlos ambos simultaneamente. (El segundo script no puede capturar el hotkey a menos que el primer script termine o se 'des-registre' la tecla previo a el segundo script.)

Un hotkey presionado *típicamente* interrumpe la función/declaración activa de AutoIt y ejecuta la función del usuario hasta que se complete o sea interrumpido. Las excepciones son las siguientes:
1) Si la función actual es una función "bloqueadora", entonces las teclas presionadas son simplificadas y ejecutadas antes de que la función de bloqueo complete. MsgBox y FileSelectFolder son ejemplos de funciones de bloqueo. Intente el comportamiento de Shift-Alt-d en el Ejemplo.
2) Si se ha pausado el script dando un click sobre el ícono de la barra de tareas (AutoIt Tray icon), algunas teclas presionadas durante este momento son ignoradas.

Los siguientes hotkeys no pueden ser fijados:

Teclas simples de a-z o A-Z. | Al menos es requerido Alt, Ctrl, o Win con estas teclas.
Ctrl+Alt+Delete | Está reservada por Windows
F12 | También reservada por Windows, de acuerdo a su API.
NumPad's Enter Key | En su lugar, use {Enter} que captura ambas teclas Enter en el teclado.
Win+B,D,E,F,L,M,R,U; y Win+Shift+M | Estos son accesos incorporados de Windows. Nota: Win+B y Win+L pueden ser reservadas sólo en Windows XP y superiores.
Alt, Ctrl, Shift, Win | Estos son modificadores propios!
Otro | Algunos hotkeys globales definidos por programas terceros, algunas combinaciones de dos o más "teclas bases" como tal '{F1}{F2}', y algunas teclas de la forma '{LALT}' o '{ALTDOWN}'.

Cuando se fija un hotkey, AutoIt captura las teclas presionadas y no las deja pasar en las aplicaciones activas--con la única excepción: Las teclas Lock (NumLock, CapsLock, y ScrollLock) todavía mantienen sus respectivo estado! Si se desea enviar un hotkey en la aplicación activa se debe de 'des-registrar' la tecla (hotkey) antes invocando Send o para usar ControlSend:

; capturar y pasar adelante una tecla
HotKeySet("{Esc}", "captureEsc")
Func captureEsc()
; ... se puede hacer algo acá
HotKeySet("{Esc}")
Send("{Esc}")
HotKeySet("{Esc}", "captureEsc")
EndFunc

Relacionados

Send, ControlSend

Ejemplo

; Presiona ESC para terminar script, Pause/Break una pausa

Global $Paused
HotKeySet("{PAUSE}", "Pausa/Continua")
HotKeySet("{ESC}", "terminar")

HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d

;;;; Cuerpo del programa vendría acá ;;;;
While 1
Sleep(100)
WEnd
;;;;;;;;

Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script está "Pausado"',0,0)
WEnd
ToolTip("")
EndFunc

Func Terminate()
Exit 0
EndFunc

Func ShowMessage()
MsgBox(4096,"","Este es un mensaje.")
EndFunc

Func Terminate()
Exit 0
EndFunc

Func ShowMessage()
MsgBox(4096,"","Este es un mensaje.")
EndFunc


Función Send

Referencia de función

Send

Envía o simula teclazos a una ventana activa.

Send ( "teclas" [, bandera] )

Parámetros

teclas | la sequencia de teclas a enviar.
bandera | [opcional] Cambia como las "teclas" son procesadas: bandera = 0 (por defecto), texto contiene caracteres especiales como + y ! que indican presionar las teclas SHIFT y ALT. bandera = 1, teclas son enviadas tal como son.

Valor devuelto

Ninguno.

Observaciones

Ver el Apéndice para ver algunos tips.

La sintáxis del comando "Send" es similar a ScriptIt y al comando "SendKeys" de Visual Basic. Caracteres son enviados como son escritos con la excepción de los siguientes caracteres:

'!'
Este simula la tecla ALT, por consiguiente Send("this is texto!a") sería "this is texto" y presiona "ALT+a".

N.B. Algunos programas son exigentes con letras mayúsculas y tecla ALT, i.e. "!A" es diferente a "!a". Primero ALT+SHIFt+A, el segundo es ALT+a. En caso de duda, use minúscula.

'+'
Simula la tecla SHIFT, por consiguiente Send("Hell+o") sería enviar el texto "HellO". Send("!+a") sería "ALt+SHIFt+a".

'^'
Simula la tecla de CONTROL, por consiguiente Send("^!a") sería send "CtRL+ALt+a".

N.B. Algunos programas son exigentes con letras mayúsculas y tecla CTRL, i.e. "!A" es diferente a "!a". Primero CTRL+SHIFt+A, el segundo es CTRL+a. En caso de duda, use minúscula.
'#'
Simula la tecla WIN (ventanita de Windows) ; por consiguiente, Send("#r") es como enviar Win+r que abre el cuadro de diálogo de "Ejecutar".

Se puede fijar SendCapslockMode para hacer que CAPS LOCK(Bloq Mayús) esté desactivado al principio de la operación y restaurlo al completar.
Sin embargo, si un usuario espera con la tecla Shift con una segunda función de Send, el texto tal vez se envíe en mayúscula.
Un tip es enviar Send("{SHIFTDOWN}{SHIFTUP}") antes de operaciones de Send.

Teclas a ser enviadas se encierran en llaves:

NOTA: Windows no permite la simulación de "CTRL-ALT-DEL"!
Comando de Send | Resultado de presionar
{!} | !
{#} | #
{+} | +
{^} | ^
{{} | {
{}} | }
{SPACE} | BARRA ESPACIADORA
{ENtER} | TECLA ENTER o INTRO
{ALT} | ALT
{BACKSPACE} or {BS} | RETROCESO (BACKSPACE)
{DELETE} or {DEL} | DELETE
{UP} | Cursor arriba
{DOWN} | Cursor abajo
{LEFt} | Cursor izquierda
{RIGHt} | Cursor right
{HOME} | INICIO (HOME)
{END} | Fin (END)
{ESCAPE} o {ESC} | ESCAPE
{INSERT} or {INS} | INS
{PGUP} | PageUp
{PGDN} | PageDown
{F1} - {F12} | Teclas de Función
{TAB} | TAB
{PRINtSCREEN} | Tecla Print Screen (ImprPant)
{LWIN} | Tecla izq. de WIN
{RWIN} | Tecla der. de WIN
{NUMLOCK} | NUMLOCK (BLOQNUM)
{CTRLBREAK} | Ctrl+Break
{PAUSE} | PAUSA (PAUSE)
{CAPSLOCK} | CAPSLOCK
{NUMPAD0} - {NUMPAD9} | Dígitos de Numpad
{NUMPADMULT} | Multiplicación de Numpad (Asterisco)
{NUMPADADD} | Tecla de Suma
{NUMPADSUB} | Tecla de menos (resta)
{NUMPADDIV} | Tecla de divisón
{NUMPADDOT} | Punto
{NUMPADENTER} | Tecla Enter de numpad
{APPSKEY} | Teclas de Aplicaciones de WIN
{LALT} | Tecla izquierda ALT
{RALT} | Tecla derecha de ALT
{LCTRL} | Tecla izq. de CTRL
{RCTRL} | Tecla der. de CTRL
{LSHIFT} | Tecla izq. de Shift
{RSHIFT} | Tecla der. de Shift
{SLEEP} | Tecla SLEEP
{ALTDOWN} | Mantiene la tecla ALT hasta que {ALTUP} es enviada
{SHIFTDOWN} | Mantiene la tecla SHIFT hasta que {SHIFTUP} es enviada
{CTRLDOWN} | Mantiene la tecla CTRL hasta que {CTRLUP} es enviada
{LWINDOWN} | Mantiene la tecla izquierda de WIN hasta que {LWINUP} es enviada
{RWINDOWN} | Mantiene la tecla derecha de WIN hasta que {RWINUP} es enviada
{ASC nnnn} | Enviar la combinación de tecla ALt+nnnn
{BROWSER_BACK} | Sólo en Win2000/XP: Selecciona en el browser el botón "back"
{BROWSER_FORWARD} | Sólo en Win2000/XP: Selecciona en el browser el botón "forward"
{BROWSER_REFRESH} | Sólo en Win2000/XP: Selecciona en el browser el botón "refresh"
{BROWSER_StOP} | Sólo en Win2000/XP: Selecciona en el browser el botón "stop"
{BROWSER_SEARCH} | Sólo en Win2000/XP: Selecciona en el browser el botón "search"
{BROWSER_FAVORItES} | Sólo en Win2000/XP: Selecciona en el browser el botón "favorites"
{BROWSER_HOME} | Sólo en Win2000/XP: Abre el browser y va la página inicial
{VOLUME_MUTE} | Sólo en Win2000/XP: Desactiva el volúmen
{VOLUME_DOWN} | Sólo en Win2000/XP: Reduce el volúmen
{VOLUME_UP} | Sólo en Win2000/XP: Incremente el volúmen
{MEDIA_NEXT} | Sólo en Win2000/XP: Selecciona el próximo track en media player
{MEDIA_PREV} | Sólo en Win2000/XP: Selecciona el track anterior en media player
{MEDIA_STOP} | Sólo en Win2000/XP: Detiene el media player
{MEDIA_PLAY_PAUSE} | Sólo en Win2000/XP: Ejecuta/pausa el media player
{LAUNCH_MAIL} | Sólo en Win2000/XP: Abre la aplicación de correo
{LAUNCH_MEDIA} | Sólo en Win2000/XP: Abre media player
{LAUNCH_APP1} | Sólo en Win2000/XP: Abre una app1
{LAUNCH_APP2} | Sólo en Win2000/XP: Abre app2

Envía el valor ASCII "A" (como presionando ALT+065 en teclado numérico)
Send("{ASC 65}")

Teclas simples pueden ser repetidas, ejem.
Send("{DEL 4}") Presiona la tecla DEL 4 veces
Send("{S 30}") Envía 30 caracteres de 'S'
Send("+{TAB 4}) Presiona SHIFT+TAB 4 veces

Para mantener una tecla (generalmente útil en juegos)
Send("{a down}") Sostiene la tecla A
Send("{a up}") Libera la tecla A

También es posible dar cantidad con variables,
$n = 4
Send("+{TAB " & $n & "}")

También envío de valor ASCII por cuatro veces,
$x = Chr(65)
Send("{" & $x & " 4}")

En la mayoría de teclados de portátiles tienen una tecla especial "Fn". Esta tecla no puede ser simulada.

Nota, al configurar el parámetro de bandera a 1 el proceso "especial" como el de arriba estará desactivado. Útil cuando se quiere enviar algo de texto copiado de una variable y se requiere enviar exactamente como se escribió.

Relacionados

SendKeyDelay (Opción), SendKeyDownDelay (Opción), ControlSend

Ejemplo

Send("#r")
WinWaitActive("Run")
Send("notepad.exe{Enter}")
WinWaitActive("Untitled -")
Send("La fecha/hora de hoy es {F5}")


Función AutoItSetOption

Referencia de función

AutoItSetOption

Cambia la operación de varios opciones/parámetros de AutoIt.

AutoItSetOption ( "opción", param )

Parámetros

opción | La opción a cambiar. Ver Observaciones.
param | El parámetro (varia por opción). Ver observ.

Valor devuelto

Devuelve el valor configurado previamente.

Observaciones

Puedes usar Opt() como alternativa de AutoItSetOption() - fácil para escribir :)

AutoIt mostrará un mensaje de error si la opción esperada es desconocida. Las opciones son las siguientes:
Opción | Parámetro
CaretCoordMode | Fija la manera de cómo son usadas las coordenadas, cualquiera de coordenadas absolutas o coordenadas relativas a la ventana actualmente activa: 1 = coordenadas absolutas (por defecto) 0 = coordenadas relativas a la ventana activa
ColorMode | Fija las manera de como los colores son definidos, cualquiera RGB o BGR. RGB es por defecto pero en versiones previas de AutoIt (pre 3.0.102) por defecto fué la opción BGR: 0 = Los colores son definidos como RGB (0xRRGGBB) (por defecto) 1 = Los colores son definidos como BGR (0xBBGGRR) (el modo usado en versiones anteriores de AutoIt)
ExpandEnvStrings | Cambia como literales a las cadenas con el símbolo "%". Por defecto son tratados literalmente como son, esta opción permite usar variables de %entorno% dentro de cadenas, e.g., "El directorio temporal es: %temp%". 1 = expande variables de entorno (similar a AutoIt v2) 0 = no expande variables (por defecto) in esta opción la manera usual sería: "El directorio temporal es: " & EnvGet("temp")
MouseClickDelay | Altera la longitud de brevedad entre los clicks de mouse. Tiempo en milisegundos a pausar (por defecto=10).
MouseClickDownDelay | Altera la longitud entre la espera de clickear y liberar. Tiempo en milisegundos a pausar (por defecto=10).
MouseClickDragDelay | Altera la longitud de brevedad entre una operación de arrastre del mouse. Tiempo en milisegundos a pausar (por defecto=250).
MouseCoordMode | Fija la manera de cómo son usadas las coordenadas en las funciones del mouse, cualquiera de coordenadas absolutas o coordenadas relativas a la ventana actualmente activa: 1 = coordenadas absolutas (por defecto) 0 = coordenadas relativas a la ventana activa (como en AutoIt v2)
MustDeclareVars | Si esta opción es usada entonces todas las variables deben estar pre-declaradas con Dim, Local o Global antes de ser usadas - remuveve la oportunidad de usar variables mal escritas que causen errores (bugs). 1 = Variables deben estar pre-declaradas 0 = Variables no necesitan estar pre-declaradas (por defecto)
PixelCoordMode | Fija la manera de cómo son usadas las coordenadas en las funciones de píxeles, cualquiera de coordenadas absolutas o coordenadas relativas a la ventana actualmente activa: 1 = coordenadas absolutas (por defecto) 0 = coordenadas relativas a la ventana activa
RunErrorsFatal | Fija si el script terminaría con un error fatal si una función Run/RunWait falla debido a dirección errónea/archivo no encontrado/Mal entrada de IDs: 1 = Error fatal (por defecto) 0 = Error silencioso (@error es fijado a 1)
SendAttachMode | Especifica si AutoIt adjunta las entradas cuando es usada la función Send(). Cuando no están adjuntas (por defecto=0) detectando el estado de capslock/scrolllock y numlock pueda ser poco confiables en Windows NT4. Sin embargo, cuando especificas y adjunta modo=1 la sintaxis Send("{... down/up}") no trabajará y haya tal vez problemas enviando teclas a una ventana "colgada". ControlSend() SIEMPRE adjunta y no es afectada por este modo. 0 = no adjunta (por defecto) 1 = adjunta
SendCapslockMode | Especifica si AutoIt debería almacenar el estado de capslock antes de una función Send y lo restaura posteriormente. 0 = no almacena /restaura 1 = almacena y restaura (por defecto)
SendKeyDelay | Altera la duración de brevedad entre envíos de teclas. Tiempo en milisegundos a pausar (por defecto=5). Algunas veces un valor de 0 no trabaja; en su lugar use 1.
SendKeyDownDelay | Altera la duración de tiempo entre el momento que una tecla está presionada antes de liberarla. Para aplicaciones es necesitado al registrar las teclas presionadas (y en muchos juegos) tal vez necesite aumentar este valor del que viene por defecto. Tiempo en milisegundos a pausar (por defecto=1).
TrayIconDebug | Si está activado muestra la línea del script actual en la bandeja de iconos (tray icon) en un tip, que ayuda para depurar. 0 = no información de depuración (por defecto) 1 = muestra la información
TrayIconHide | Oculta el ícono de AutoIt, de la bandeja de íconos (tray icon). Nota: El ícono inicialmente aparecerá por ~250 milisegundos. 0 = mostrar ícono (por defecto) 1 = ocultar ícono
WinDetectHiddenText | Especifica si la detectará texto oculto y lo mostrará, en las funciones relacionadas con ventanas. 0 = no detecta texto oculto (por defecto) 1 = detecta texto oculto
WinSearchChildren | Permite las rutinas de búsqueda de ventana, busque ventanas dependientes (child windows) como ventanas de nivel sobresaliente (top-level). 0 = Sólo busca las ventanas de nivel mayor (por defecto) 1 = Busca en todas (nivel mayor y dependientes)
WinTextMatchMode | Altera el método que es usado para coincidir con el texto de la ventana durante las operaciones de búsqueda de ventana. 1 = Completo / modo lento (por defecto) 2 = Modo rápido En modo rápido, AutoIt puede usualmente sólo "ver" en el texto de diálogo, texto en botón y títulos de algunos controles. El modo por defecto es mucho más texto puede ser visto (por instancia el contenido de la ventana de Notepad). Si tienes problemas de rendimiento cuando realiza muchas búsquedas de ventana, puede que ayude utilizar el modo rápido.
WinTitleMatchMode | Altera el método que es usado para coincidir con los títulos de las ventanas. 1 = Coincide con el título desde el inicio (por defecto) 2 = Coincide en alguna parte contenido en el título 3 = Exactamente como el título 4 = Modo avanzado, ver Títulos de Ventana & Texto (Avanzado)
WinWaitDelay | Altera cómo un script debería brevemente pausa después de una operación exitosa relacionada con ventanas. Tiempo en milisegundos a pausar (por defecto=250).

Relacionados

Muchos!

Ejemplo

; copiar alguno/todos los que se quieran cambiar ;por defecto el valor es listado primero

Opt("CaretCoordMode", 1) ;1=absoluto, 0=relativo
Opt("ExpandEnvStrings", 0) ;0=no expandir, 1=expandir
Opt("MouseClickDelay", 10) ;10 milisegundos
Opt("MouseClickDownDelay",10) ;10 milisegundos
Opt("MouseClickDragDelay",250) ;250 milisegundos
Opt("MouseCoordMode", 1) ;1=absoluto, 0=relativo
Opt("MustDeclareVars", 0) ;0=no, 1=requiere pre-declarar
Opt("PixelCoordMode", 1) ;1=absoluto, 0=relativo
Opt("RunErrorsFatal", 1) ;1=fatal, 0=error silencioso
Opt("SendAttachMode", 0) ;0=no adjuntar, 1=no adjuntar
Opt("SendCapslockMode", 1) ;1=almacena y restaurar, 0=no almacenar
Opt("SendKeyDelay", 10) ;10 milisegundos
Opt("SendKeyDownDelay", 10) ;10 milisegundos
Opt("TrayIconHide", 0) ;0=mostrar, 1=ocultar
Opt("TrayIconDebug", 0) ;0=no info, 1=línea de depuración
Opt("WinWaitDelay", 250) ;250 milisegundos
Opt("WinDetectHiddenText", 0) ;0=no detectar, 1=detectar
Opt("WinSearchChildren", 1) ;0=no, 1=todos
Opt("WinTitleMatchMode", 1) ;1=Desde el inicio, 2=subStr, 3=exacto, 4=...
Opt("WinWaitDelay", 250) ;250 milisegundos


Función Abs

Referencia de función

Abs

Calcula el valor absoluto de un número.

Abs ( expresión )

Parámetros

expresión Alguna expresión numérica válida.

Valor devuelto

Devuelve valor absoluto de expresión.

Observaciones

Una cadena de texto equivale a cero.

Relacionados

Ninguno.

Ejemplo

$var = Abs(-123.45) ;valor es 123.45


Función ACos

Referencia de función

ACos

Calcula el arcCoseno de un número.

ACos ( expresión )

Parámetros

expresión Algún valor entre -1 y 1.

Valor devuelto

Devuelve el arccoseno trigonométrico de expresión. El resultado es en radianes.

Observaciones

ACos(x) es matemáticamente definido sólo para -1 < x < 1, así que ACos tiende a devolver -1.#IND para otros valores de x.

Relacionados

Sin, Cos, Tan, ASin, ATan

Ejemplo

$x = ACos(0.5)

$pi = 3.14159265358979
$radToDeg = 180 / $pi
$y = ACos(-1) * $radToDeg ;arcCosine de -1 Devuelve 180°


Función ASin

Referencia de función

ASin

Calcula el seno inverso de un número.

ASin ( expresión )

Parámetros

expresión Algún valor entre -1 y 1 (inclusive).

Valor devuelto

Devuelve el seno inverso de expresión. El resultado es en radianes.

Observaciones

ASin(x) es matemáticamente definido sólo para -1 < x < 1, así ASin tiende a devolver -1.#IND para otros valores de x.

Relacionados

Sin, Cos, Tan, ACos, ATan

Ejemplo

$x = ASin(0.5)

$pi = 3.14159265358979
$radToDeg = 180 / $pi
$y = ASin(1) * $radToDeg ;Seno inverso de 1 devuelve 90°


Función ATan

Referencia de función

ATan

Calcula la tangente inversa de un número.

ATan ( expresión )

Parámetros

expresión Algúna expresión numérica válida.

Valor devuelto

Devuelve la tangente inversa de expresión. Resultado es en radianes.

Observaciones

El resultado de 4 * Atan(1) es igual a Pi.

Relacionados

Sin, Cos, Tan, ASin, ACos

Ejemplo

$x = ATan(0.5)

$pi = 4 * ATan(1) ;igual a 3.14159265358979
$radToDeg = 180 / $pi
$y = Atan(1) * $radtoDeg ;tangente inverso de 1 devuelve 45°


Función BitAND

Referencia de función

BitAND

Realiza un operación bitwise AND.

BitAnd ( valor1, valor2 [, n valor ] )

Parámetros

valor1 | El primer número.
valor2 | El segundo número.
n valor | [opcional] El número de n valor - hasta 255 valores pueden ser especificados.

Valor devuelto

Devuelve el valor de los parámetros juntos de bitwise-AND.
Recuerde que AND devuelve 1 si ambos bits son 1 y de lo contrario devuelve 0.

Observaciones

Recuerde notación hex puede ser usada para números.

Relacionados

BitNOT, BitOR, BitShift, BitXOR, Hex

Ejemplo

$x = BitAND(13, 7) ;x == 5 puesto que 1101 AND 0110 = 0101

$x = BitAND(2, 3, 6) ;x == 2 puesto que 0010 AND 0011 AND 0110 = 0010


Función BitNOT

Referencia de función

BitNOT

Realiza un operación bitwise NOT.

BitNOT ( valor )

Parámetros

valor el número a operar.

Valor devuelto

Devuelve el valor bitwise NOT.
Operaciones Bit son realizadas como enteros de 32 bit.

Observaciones

Recuerde la notación hex puede ser usada para números.

Relacionados

BitOR, Hex

Ejemplo

$x = BitNot(5)

#cs Comentarios:
Resultado es -6 porque es para números de 32-bit
5 == 00000000000000000000000000000101 binario
-6 == 11111111111111111111111111111010 binario
y el primer bit es signado
#ce


Función BitOR

Referencia de función

BitOR

Realiza una operación bitwise OR.

BitOR ( valor1, valor2 [, n valor ] )

Parámetros

valor1 | el primer número.
valor2 | el segundo número.
n valor | [opcional] El número de n valor - hasta 255 valores pueden ser especificados.

Valor devuelto

Devuelve de los dos parámetros el bitwise-OR juntos.
Recuerde que OR devuelve 0 si ambos bits son 0 y de lo contrario devuelve 1.

Observaciones

Recuerde la notación hex puede ser usada para números.

Relacionados

BitAND, BitNOT, BitShift, BitXOR, Hex

Ejemplo

$x = BitOR(3, 6) ;x == es 7 porque 0011 OR 0110 = 0111

$x = BitOR(3, 15, 32) ;x == 47 porque 0011 OR 1111 OR 00100000 = 00101111


Función BitShift

Referencia de función

BitShift

Realiza una operación alterna de bit.

BitShift ( valor, alternar )

Parámetros

valor | el primer número a operar.
shift | Número de bits a alternar a la derecha (números negativos alternan a la izq.).

Valor devuelto

Devuelve el valor alternado por los números requeridos de bits.

Observaciones

Recuerde la notación hex puede ser usada para números.

Relacionados

BitOR, Hex

Ejemplo

$x = BitShift(14, 2)
; x == 3 porque 1110b alterno-derecho dos veces es 11b == 3

$y = BitShift(14, -2)
; y == 48 porque 1110b alterno-izquierdo dos veces es 111000b == 56

$z = BitShift( 1, -31)
; z == -2147483648 porque en notación 2's-complemento, el
; 32avo dígito de la derecha tiene un signo negativo.


Función BitXOR

Referencia de función

BitXOR

Realiza una operación exclusiva bitwise OR (XOR).

BitXOR ( valor1, valor2 [, n valor ] )

Parámetros

valor1 | El primer número.
valor2 | El segundo número.
n valor | [opcional] El número de n valor - hasta 255 valores pueden ser especificados.

Valor devuelto

Devuelve el valor de los parámeteros en operación bitwise-XOR.
Operaciones Bit son realizadas como enteros de 32 bits.

Observaciones

Recuerde la notación hex puede ser usada para números.
Recuerde que XOR devuelve 1 si exactamente un bit es 1 y de lo contrario 0.

Relacionados

BitAND, BitNOT, BitOR, BitShift, Hex

Ejemplo

$x = BitXOR(10, 6) ;x == 12 puesto que 1010b XOR 0110b == 1100

$x = BitXOR(2, 3, 6) ;x == 7 puesto que 0010 XOR 0011 XOR 0110 = 0111


Función Cos

Referencia de función

Cos

Calcula el coseno de un número.

Cos ( expresión )

Parámetros

expresión Valor en radianes.

Valor devuelto

Devuelve el coseno trigonométrico de un número.

Observaciones

1° = pi / 180° radianes.

Relacionados

Sin, Tan, ASin, ACos, ATan

Ejemplo

$pi = 3.14159265358979
$x = cos($pi / 4)

$degToRad = $pi / 180
$y = Cos(90 * $degToRad) ;coseno de 90°


Función Exp

Referencia de función

Exp

Calcula la potencia (e) de un número.

Exp ( expresión )

Parámetros

expresión Una expresión numérica válida.

Valor devuelto

Devuelve e elevado a la potencia de la expresión.

Observaciones

e es la base del logaritmo natural y es aproximado a 2.71828182845905

Relacionados

Log

Ejemplo

$x = Exp(5) ;Devuelve 148.413159102577


Función Log

Referencia de función

Log

Calcula el logaritmo natural logaritmo de un número.

Log ( número )

Parámetros

número Algún número positivo.

Valor devuelto

Al completar: Devuelve el párametro del logaritmo natural.
Al fallar: tiende a devolver -1.#IND para parámetros no-positivos.

Observaciones

Ninguno.

Relacionados

Exp

Ejemplo

$x = Log(1000) ;Devuelve 6.90775527898214

$y = Log10(1000) ;Devuelve 3

; función-de-usuario
Func Log10($x)
Return Log($x) / Log(10) ; base 10
EndFunc


Función Mod

Referencia de función

Mod

Realiza un operación de módulo.

Mod ( valor1, valor2 )

Parámetros

valor1 | El dividendo.
valor2 | El divisor.

Valor devuelto

Al completar: Devuelve el residuo cuando valor1 es dividido entre valor2.
Al fallar: Devuelve -1.#IND si el divisor es cero.

Observaciones

cociente = dividendo / divisor
Esta función trabaja con números decimales así como con enteros.

Relacionados

Ninguno.

Ejemplo

$n = 18
If mod($n, 2) = 0 Then
MsgBox(0,"", $n & " es un número par.")
Else
MsgBox(0, "", $n & " es un número impar.")
EndIf

$x = mod(4, 7) ;$x == 4 porque el divisor > dividendo

$y = mod(1, 3/4) ;$y == 0.25 porque el divisor es un decimal


Función Random

Referencia de función

Random

Genera un número seudo-aleatorio tipo flotante (decimal).

Random( [[Mín ,] Máx] )

Parámetros

Mín | [opcional] El número pequeño a ser generado. Por defecto es 0.
Máx | [opcional] El número mayor a ser generado. Por defecto es 1.

Valor devuelto

Al completar: Devuelve un número seudo-aleatorio entre Min y Max.
Al fallar: Devuelve 1 y fija a la bandera @error:
1 si el argumento es un arreglo o un cadena de texto no-numérica
2 si Mín > Máx

Observaciones

Si sólo un argumento es provisto, entonces es interpretado como el Máx.

El resultado será un decimal en el rango de Mín a Máx, incluyendo Mín, pero NO incluye Max.

Relacionados

Int, Round

Ejemplo

;Flip of coin
If Random() < 0.5 Then ; Returns a value between 0 and 1.
$msg = "Heads. 50% Win"
Else
$msg = "Tails. 50% Loss"
Endif
MsgBox(0,"Coin toss", $msg )

;Roll of a die
msgBox(0,"Roll of die", "You rolled a " & Int(Random(6)+1))

;In the middle of a stock market simulation game
$StockPriceChange = Int(Random(-10, 11)) ; generate an integer between -10 and 10
$StockPrice = $StockPrice + $StockPriceChange
If $StockPriceChange < 0 Then
MsgBox(4096, "Stock Change", "Your stock dropped to $" & $StockPrice)
ElseIf $StockPriceChange > 0 Then
MsgBox(4096, "Stock Change", "Your stock rose to $" & $StockPrice)
Else
MsgBox(4096, "Stock Change", "Your stock stayed at $" & $StockPrice)
Endif

;Random letter
If Random() < 0.5 Then
;Capitals
$Letter = Chr(Random(Asc("A"), Asc("Z")+1)
Else
;Lower case
$Letter = Chr(Random(Asc("a"), Asc("z")+1)
Endif

Comentarios basados en el código original
This function uses the Mersenne Twister random number generator, MT19937, written by Takuji Nishimura, Makoto Matsumoto, Shawn Cokus, Matthe Bellew and Isaku Wada.

The Mersenne Twister is an algorithm for generating random numbers. It was designed with consideration of the flaws in various other generators. The period, 219937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines. For more information see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html

Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Función Round

Referencia de función

Round

Devuelve un número redondeado a una cantidad especificada de decimales.

Round ( expresión [, cifrasdecimales] )

Parámetros

expresión | Algun tipo de expresión numérico válido.
cifrasdecimales | Opcional número indicando cuántos decimales a la derecha están incluídos en el redondeo. Si es omitido, Round devuelve un entero.

Valor devuelto

Devuelve número redondeado.

Observaciones

El parámetro de cifrasdecimales puede ser negativo que permita redondear a unidades, decenas, centenas, etc. Note que 15 dígitos de un número son mostrados, y note que cifrasdecimales nunca será un número seguido de ceros.

Relacionados

Int, Number

Ejemplo

$x = Round(-1.582, 1) ;Devuelve -1.6
$y = Round(3.1415, 9) ;no cambia
$z = round(123.5, -1) ;Devuelve 120


Función Sin

Referencia de función

Sin

Calcula el seno de un número.

Sin ( expresión )

Parámetros

expresión Valor en radianes.

Valor devuelto

Devuelve el seno trigonométrico de un número.

Observaciones

1 radián = 180° / pi.

Relacionados

Cos, Tan, ASin, ACos, ATan

Ejemplo

$pi = 3.14159265358979
$x = sin($pi / 4) ;Devuelve 0.707106781186547 que sería reconocido como sqrt(2)/2

$degToRad = $pi / 180
$y = Sin(90 * $degToRad) ;seno de 90°


Función Sqrt

Referencia de función

Sqrt

Calcula la raíz-cuadrada de un número.

Sqrt ( expresión )

Parámetros

número Alguna expresión no-negativa.

Valor devuelto

Al completar: Devuelve la raíz-cuadrada.
Al fallar: Devuelve 0 y fija @error a 1 si el parámetro es negativo.

Observaciones

Para calcular una n raíz, use el operador de potencia: x ^ (1/n)
MsgBox(0,"La raíz del cubo 27 es", 27 ^ (1/3) )

Relacionados

Exp, Log

Ejemplo

$x = Sqrt(2) ;Devuelve 1.4142135623731
$y = sqrt(9) ;Devuelve 3


Función Tan

Referencia de función

Tan

Calcula la tangente de un número.

Tan ( expresión )

Parámetros

expresión Valor en radianes.

Valor devuelto

Devuelve la tangente trigonométrica de un número.

Observaciones

1 radián = 180° / pi.
Nota que Tan es "infinito" para ... -3PI/2, -PI/2, PI/2, 3PI/2, 5PI/2, ... y tiende a devolver 1.63317787283838e+016 para tales divididos de Pi.

Relacionados

Sin, Cos, ASin, ACos, ATan

Ejemplo

$pi = 3.14159265358979
$x = tan($pi / 4)

$degToRad = $pi / 180
$y = Tan(90 * $degToRad) ;tan(90°)


Función InputBox

Referencia de función

InputBox

Muestra una caja de diálogo para entrada de datos.

InputBox ( "título", "Pregunta" [, "Valor por defecto" [, "caracter de contraseña" [, ancho, altura [, Izquierda, Arriba]]]] )

Parámetros

título | El título de la caja de entrada.
pregunta | Un mensaje indicando al usuario que tipo de entrada se espera.
Valor por defecto | El valor que en el campo de entrada aparecerá por defecto.
caracter de contraseña | [opcional] El caracter a reemplazar con todos los caracteres escritos. Para usar diferentes caracteres, defina una cadena de texto vacía ("") (por defecto). Si provee más de un caracter, sólo el primer caract., es usado.
ancho | [opcional] El ancho de la ventana. Si es definido, la altura también debe ser definida. Use -1 para el valor por defecto en ancho.
altura | [opcional] La altura de la ventana. Si es definida, el ancho también debe ser definido. Use -1 para el valor por defecto en altura.
izquierda | [opcional] Posición desde la izquierda de la caja de entrada. Por defecto está centrado. Si está definido, parte superior (top) debe también ser definida.
superior | [opcional] Posición desde arriba (top) de la caja de entrada. Por defecto está centrado. Si está definida, la parte de la izquierda debe también ser definida.
intérvalo | [optional] Cuántos segundos deberá esperar antes que se cancele/cierra automáticamente la caja de entrada (InputBox).

Valor devuelto

Al completar: Devuelve el cadena de texto que fué ingresada.
Al fallar: Devuelve una cadena de texto vacía y fija @error como lo siguiente:
@Error
0 = La cadena de texto devuelta es válida.
1 = El botón de Cancelar (Cancel) fué presionado.
2 = El tiempo de espera expiró.
3 = La caja de diálogo de entrada (InputBox) falló al abrir. Usualmente causado por argumentos incorrectos.

Observaciones

BlockInput(1) previene a usuarios de Windows 98/Me de entrada de datos.
InputBox es reajustable, pero tiene un tamaño mínimo de aproximadamente 190 x 114 pixeles. Por defecto es aproximadamente 250 x 190 pixeles.
La cadena de texto devuelta no excederá 254 caracteres; y si la entrada contiene retorno de carro o avance de línea (LF), será truncado hasta la primer aparición.

Relacionados

MsgBox

Ejemplo

$answer = InputBox("Pregunta", "Dónde nació?", "Planeta Tierra", "", -1, -1, 0, 0)
;Pone la caja de entrada en la esquina superior a la izquierda mostrando los caracteres como son escritos.

$passwd = InputBox("Revisión de Seguridad", "Introduzca su contraseña.", "", "*")
;Pregunta por una contraseña. No olvidar validarla!


Función MsgBox

Referencia de función

MsgBox

Muestra una simple caja de diálogo con un tiempo opcional de duración.

MsgBox ( bandera, "título", "texto" [, intérvalo] )

Parámetros

bandera | La bandera indica el tipo de caja de mensaje será y las posibles combinaciones de botones. Ver observaciones.
título | El título de la caja de diálogo.
texto | El texto del mensaje.
intérvalo | [opcional] Tiempo de duración en segundos. Después del tiempo transcurrido la caja se cerrará automáticamente.

Valor devuelto

Al completar: Devuelve el ID del botón presionado.
Al fallar: Devuelve -1 si la caja expiró.
Botón Presionado | Valor a Devolver
OK | 1
CANCELAR (CANCEL) | 2
ANULAR (ABORT) | 3
REINTENTAR (RETRY) | 4
IGNORAR (IGNORE) | 5
SI (YES) | 6
NO | 7
INTENTAR DE NUEVO (TRY AGAIN)** | 10
CONTINUAR (CONTINUE)** | 11

Observaciones

El parámetro de la bandera puede tener combinaciones de los siguientes valores:

Valor de bandera | Resultado de Botón-relacionado
0 | Botón Aceptar (OK)
1 | Aceptar y Cancelar
2 | Anular, Reintentar, Omitir (Abort, Retry, y Ignore)
3 | Si, No y Cancelar (Yes, No, y Cancel)
4 | Si y No (Yes y No)
5 | Reintentar y Cancelar (Retry y Cancel)
6 ** | Cancelar, Reintentar, Continuar (Cancel, Try Again, Continue)
Valor a devolver | Resultado de Icono-relacionado
0 | (Sin ícono)
16 | Icono de Error
32 | Icono de Interrogación
48 | Icono de Exclamación
64 | Icono de Información
Valor devuelto | Resultado por defecto
0 | Primer botón será por defecto
256 | Segundo botón será por defecto
512 | Tercer botón será por defecto
Valor de Bandera | Modalidad
0 | Aplicación
4096 | Modo de Sistema (caja de diálogo tiene un icono)
8192 | Modo de Tarea (Task modal)
Valor de Bandera | Misceláneos
0 | (nada especial)
262144 | MsgBox tiene un atributo 'siempre en frente'
5244288 | Título y texto están justificados a la derecha

** Válidos sólo en Windows 2000/XP o superior.

Por ejemplo, para especificar un modo de Sistema (SYSTEMMODAL) con los botones SI/NO (YES/NO) la bandera sería 4096+4 (o 4100).

Una caja de mensaje aparece centrada en la pantalla y se reajusta de acuerdo al texto que contiene. Sin embargo, el título pudiera truncarse si la bandera SYSTEMMODAL (4096) es usada.

Relacionados

InputBox, ToolTip, TrayTip, SplashTextOn

Ejemplo

MsgBox(4096, "Prueba", "Esta caja de diálogo se cerrará en 10 segundos", 10)


Función ProgressOff

Referencia de función

ProgressOff

Apaga/Desaparece la ventana de Progreso(Progress).

ProgressOff ( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Ninguno.

Relacionados

ProgressSet, ProgressOn

Ejemplo

ProgressOff()


Función ProgressOn

Referencia de función

ProgressOn

Crea una barra customizable de progreso.

ProgressOn ( "título", "maintexto" [, "subtexto" [, pos x [, pos y [, opc]]]] )

Parámetros

título | título de la ventana de progreso.
maintexto | texto para Main, Bold, Etiqueta superior.
subtexto | [opcional] texto para Sub, Normal, Etiqueta inferior. (por defecto está en blanco)
pos x | [opcional] posición de la izquierda (en pixeles) de la ventana de progreso. (por defecto está centrado)
pos y | [opcional] posición de la parte superior (en pixeles) de progreso. (por defecto está centrado)
opc | [opcional] Por defecto está 'Siempre en frente/con título' Otras opciones: 1 = sin borde, sin título 2 = Sin atributo "Siempre en frente"

Valor devuelto

Ninguno.

Observaciones

Para obviar un parámetro opcional, deje el valor intacto por defecto o use:
"" para parámetros de cadena de texto
-1 para parámetros numéricos
Si ProgressOn es llamado cuando una ventana de progreso ya existe, la ventana es remuestrada/movida. (Si se quiere ventanas múltiples ventanas simultáneamente, se necesita hacerlo en varios scripts.)

Relacionados

ProgressOff, ProgressSet

Ejemplo

ProgressOn("Medidor de progreso", "Incrementa cada segundo", "0 porcentaje")
For $i = 10 to 100 step 10
sleep(1000)
ProgressSet( $i, $i & " percent")
Next
ProgressSet(100 , "Done", "Complete")
sleep(500)
ProgressOff()


Función ProgressSet

Referencia de función

ProgressSet

Fija la posición y/o texto de una previamente creada barra de Progreso.

ProgressSet ( porcentaje [, "subtexto" [, "texto principal"]] )

Parámetros

porcentaje | Porcentage (valor entre 0. y 100.) a fijar en la barra de progreso.
subtexto | Opcionalmente fija el texto para Sub, Normal, Etiqueta inferior.
texto principal | Opcionalmente fija el texto para Main, Bold, Etiqueta superior.

Valor devuelto

Ninguno.

Observaciones

Advierte que el argumento de subtexto viene antes del texto principal.

Relacionados

ProgressOff, ProgressOn

Ejemplo

ProgressOn("Progreso medidor", "Incrementa cada segundo", "0 porcentaje")
For $i = 10 to 100 step 10
sleep(1000)
ProgressSet( $i, $i & " porcentaje")
Next
ProgressSet(100 , "Terminado", "Completo")
sleep(500)
ProgressOff()


Función SplashImageOn

Referencia de función

SplashImageOn

Crea una ventana customizable de imagen.

SplashImageOn ( "título", "archivo" [, ancho [, altura [, pos x [, pos y [, opciones]]]]] )

Parámetros

título | Título para ventana.
archivo | Dirección completa\nombre de archivo de imagen (BMP, GIF, o JPG)
ancho | [opcional] Ancho de ventana en pixeles. (por defecto es 500)
altura | [opcional] Altura de ventana en pixeles. (por defecto es 400)
pos x | [opcional] Posición de la izquierda (en pixeles) de ventana. (por defecto está centrado)
pos y | [opcional] posición de la parte superior (en pixeles) de splash ventana. (por defecto está centrado)
opciones | [opciones adicionales] Agrege las opciones que quiera. Por defecto está 'Siempre en frente/con título' 1 = Ventana delgada (sin borde) 2 = Sin el atributo de "Siempre en frente" 16 = Ventana puede ser movida

Valor devuelto

Ninguno.

Observaciones

Para obviar un parámetro opcional, deje el valor intacto por defecto use -1.

La imagen es escalada al ancho y altura especificado y puede ser una Mapa de Bits (BMP), GIF, o imagen JPEG. Iconos (ICOs) no se muestran, aunque en la ventana aparezca. Imágenes PNG muestra un mensaje de error de fallo, y no funciona con direcciones inválidas.

Imágenes no pueden ser incrustadas en el ejecutable a menos de que use FileInstall

Sólo una instancia de SplashImage/Text es permitida a la vez; así si en un ciclo con múltiples imágenes/texto, Simplemente llame SplashImageOn/SplashtextOn de nuevo la nueva información.

Relacionados

SplashOff, SplashtextOn

Ejemplo

$destination = @TempDir & "\mySplash.bmp"
FileInstall("C:\foo.bmp", $destination) ;recurso debe ser una cadena de texto literal

SplashImageOn("Splash Screen", $destination)
Sleep(3000)
SplashOff()


Función SplashOff

Referencia de función

SplashOff

Activa/Desactiva un SplashText o SplashImage.

SplashOff( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Ninguno.

Relacionados

SplashImageOn, SplashTextOn

Ejemplo

SplashtextOn("Ejemplo", "Pantalla Splash")
Sleep(5000)
SplashOff()


Función SplashTextOn

Referencia de función

SplashTextOn

Crea una ventana customizable de texto.

SplashTextOn("título", "texto" [, w [, h [, pos x [, pos y [, opt [, "fuente" [, "tamañofuente" [, "anchofuente"]]]]]]]] )

Parámetros

título | Título para la ventana (splash).
texto | Título para la ventana (splash)
w | Ancho opcional de ventana en pixeles. (por defecto 500)
h | Altura opcional de ventana en pixeles. (por defecto 400)
pos x | Posición opcional de izquierda (en pixeles) de ventana. (por defecto está centrado)
pos y | Posición opcional de arriba (en pixeles) de ventana. (por defecto está centrado)
opt | opciones adicionales: (agregando los valores superiores - por defecto está 'justificado al centro/Siempre en frente/con título') 1 = Ventana sin borde y título 2 = Sin atributo "Siempre en frente" 4 = Texto justificado a la izquierda 8 = Texto justificado a la derecha 16 = Ventana puede ser movida
nombredefuente | nombre opcional de fuente a usar. (por defecto la fuente del OS es usada si la fuente es "" o no es encontrada)
tamañofuente | Tamaño opcional de fuente. (por defecto es 12; tamaños estándars son 6 8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72)
anchofuente | Peso opcional de fuente (0 - 1000, por defecto = 400 = normal). Un valor > 1000 es tratado como cero.

Valor devuelto

Ninguno.

Observaciones

Para obviar un parámetro opcional, deje el valor intacto por defecto o use:
"" para párametros de una cadena de texto
-1 para parámetros numéricos

Sólo una ventana de SplashImage/Text es permitida a la vez; si desea hacer ciclos con múltiples imágenes/texto, simplemente llama SplashImageOn/SplashTextOn otra vez con la nueva información.

Aunque es mejor usar ControlSetText para actualizar el texto sin titilar(Flicker)...

Nombre de fuentes estándars incluyen:
Arial, Comic Sans MS, Courier New, Lucida Console, Microsoft Sans Serif, System, Tahoma, Times New Roman, and WingDings
Vea el Apéndice para una lista completa

Relacionados

SplashOff, SplashImageOn, ControlSetText

Ejemplo

SplashTextOn("título", "Mensaje va acá.", -1, -1, -1, -1, 4, "", 24)
Sleep(3000)
SplashOff()

;; FLICKER
$message = ""
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
For $x = 1 to 20
$message = $message & $x & @LF
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
Sleep(100)
Next

;; SMOOTH
$message = ""
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
For $x = 1 to 20
$message = $message & $x & @LF
ControlSetText("TitleFoo", "", "Static1", $message)
sleep(100)
Next


Función TrayTip

Referencia de función

TrayTip

Muestra un globo de información(tip balloon) del ícono de AutoIt. (sólo 2000/XP)

traytip ( "título", "texto", intérvalo [, opción] )

Parámetros

título | texto que aparece arriba en Negrita del globo de información. (mínimo 63 caracteres)
texto | Mensaje a mostrar en el globo. (255 caracteres es el máximo)
intérvalo | A rough estimate de la time the balloon tip should be displayed. (ventanas has a min y max of about 10-30 segundos but does not Siempre honor a time in that range.)
opción | [opcional] Ver Observaciones. 0=Sin ícono (por defecto), 1=Icono de info, 2=Icono de advertencia, 3=Icono de error

Valor devuelto

Ninguno.

Observaciones

traytip trabaja sólo en Windows 2000/XP o mejor.

Un tray tip se cierra si el ícono de AutoIt desaparece. Consecuentemente, el traytip no aparecerá si AutoItSetOption("TrayIconHide", 1) es fijado o si el usuario tiene desactivada esta opción en la Configuración de Registro!

Windows XP usualmente toca un sonido cuando se muestra. Este sonido puede desactivarse agregando 16 a las opciones de parámetro o dejando el título vacío.

Para quitar un globo de infor. que está activo, llame o invoque otro tip sin texto (y algún título).

Relacionados

MsgBox, TrayIconHide (opción)

Ejemplo

traytip("Soy un título", "mensaje", 5, 1)
MsgBox(4096,"", "Presione OK para ver otro tip.")
traytip("limpiar otro tip","",0)
traytip("", "Un tip diferente.", 5)
Sleep(5000)


Función AdlibDisable

Referencia de función

AdlibDisable

Desactiva la funcionalidad de adlib.

AdlibDisable ( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Ninguno.

Relacionados

AdlibEnable

Ejemplo

AdlibDisable()


Función AdlibEnable

Referencia de función

AdlibEnable

Activa la funcionalidad de Adlib.

AdlibEnable ( "función" [,tiempo] )

Parámetros

función | el nombre de la función de adlib a llamar.
tiempo | [opcional] A cada cuantos milisegundos la función será llamada. Por defecto es 250 ms.

Valor devuelto

Ninguno.

Observaciones

Cada 250 ms (o el tiempo ms) especificado, la "función" es llamada--tipicamente para ver errores imprevistos. Por ejemplo, usted puede usar adlib en un script que causa un error mostrando una ventana impredecible.
La función adlib pudiera mantenerse simple como es ejecutado a cada rato y durante este tiempo el script es pausado. También, el parámetro debería ser usado cuidadosamente evitar cargar el CPU.

Relacionados

AdlibDisable, Call

Ejemplo

AdlibEnable("myadlib")
;...
Exit

Func myadlib()
If WinActive("Error") then
;...
EndIf
EndFunc


Función AutoItWinGettitle

Referencia de función

AutoItWinGettitle

Captura el título de la ventana de AutoIt.

AutoItWinGettitle ( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Ninguno.

Relacionados

AutoItWinSettitle, WinGettitle

Ejemplo

$a = AutoItWinGettitle()


Función AutoItWinSettitle

Referencia de función

AutoItWinSettitle

Cambia el título de la ventana de AutoIt.

AutoItWinSettitle ( "nuevotítulo" )

Parámetros

nuevotítulo el nuevo título a dar a la ventana.

Valor devuelto

Ninguno.

Observaciones

La ventana de AutoIt ventana está usualmente oculta. El propósito de cambiar el título es para permitir a otro programas (u otros scripts de AutoIt) interactuar con AutoIt.

Relacionados

AutoItWinGettitle, WinSettitle

Ejemplo

AutoItWinSettitle("Mi ventana de AutoIt")


Función BlockInput

Referencia de función

BlockInput

Activa/desactiva el mouse y teclado.

BlockInput ( bandera )

Parámetros

bandera 1 = Desactiva la entrada de datos de usuario
0 = Activa la input entrada de datos de usuario

Valor devuelto

Ninguno.

Observaciones

Si BlockInput está activo, la tecla Alt no puede ser enviada!
La tabla de abajo muestra el comportamiento de BlockInput depende en una versión de Windows; sin embargo, presionando Ctrl+Alt+Del en cualquier plataforma puede re-activar la entrada debido a la característica de Windows API.

Sistema operativo | "BlockInput" Resultados
Windows 95 | No tiene efecto.
Windows 98/Me | La entrada de Usuario es bloqueada pero AutoIt también es incapaz de simular la entrada.
Windows Nt 4 (Sin ServicePack 6) | No tiene efecto.
Windows Nt 4 (Sin ServicePack 6) | Entrada de Usuario es bloqueada y AutoIt puede simular la entrada de datos.
Windows 2000/XP | Entrada de usuario es bloqueada y AutoIt puede simular la entrada de datos.

Nota que las funciones tal como en WinMove() pueden trabajar en Windows 98/Me cuando BlockInput está activo.

Relacionados

Send

Ejemplo

If @OSVersion <> "WIN_98" And @OSVersion <> "WIN_ME" then
BlockInput(1)
EndIf

Run("notepad")
WinWaitActive("Untitled - Notepad")
Send("{F5}") ;inserta hora y fecha

BlockInput(0)


Función Break

Referencia de función

Break

Activa o desactiva la habilidad a los usuarios, de cerrar un script desde el ícono de la barra de tareas.

Break ( modo )

Parámetros

modo Fija el modo de break:
1 = Break está activado (usuario puede quitarlo) (por defecto)
0 = Break está desactivado (usuario no puede quitarlo)

Valor devuelto

Ninguno.

Observaciones

Por favor sólo desactivar break por una buena razón.
AutoIt normalmente crea un ícono en la barra de tareas cuando se está ejecutando, y con un click-derecho en este icono permite al usuario pausar o quitar el script. Si Break está activo (1), el usuario no puede terminar el script de esta forma.

Relacionados

Ninguno.

Ejemplo

Break(0) ;Desactiva break


Función Call

Referencia de función

Call

Llama una función-de-usuario contenida en una cadena de texto.

Call ( "función" )

Parámetros

función El nombre de la función de usuario a llamar.

Valor devuelto

Al completar: Devuelve el valor de la función llamada.
Al fallar: Fija @error a 1 si la función no existe.

Observaciones

La función no puede tomar parámetros algunos y no puede ser una función de AutoIt.

Relacionados

AdlibEnable

Ejemplo

For $i = 1 to 2
$ret = Call("test" & $i)
MsgBox(4096,"", $ret)
Next

Func test1()
Return "Hola"
EndFunc

Func test2()
Return "Adiós"
EndFunc


Función CDTray

Referencia de función

CDTray

Abre o cierra la bandeja de CD.

CDtray ( "unidad", "estado" )

Parámetros

unidad | La letra de unidad de la bandeja de CD a controlar, en el formato D:, E:, etc.
estado | Especifica si se quiere abrir o cerrar la bandeja de CD: "open"(abre) o "closed" (cierra)

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si la unidad está bloqueada por algún software de quemador de CD o si la letra de unidad no es una unidad de CD.

Observaciones

CDtray trabaja como las unidades virtualas de CD tal como herramientas DAEMON.
CDtray no trabaja en unidades no-locales/mapeadas; CDtray debe ejecutarse de la computadora donde está la unidad.
CDtray("X:", "close") tiende a devolver 0 aún en estilo-laptop que sólo puede cerrarse manualmente.

Relacionados

DriveGettype, driveStatus

Ejemplo

; Abre la badeja de CD en la unidad E:
CDTray("E:", "open")


Función MemGetStats

Referencia de función

MemGetStats

Recupera información relacionada con la memoria.

MemGetStats ( )

Parámetros

Ninguno.

Valor devuelto

Devuelve un arreglo de siete-elementos conteniendo la información de memoria:

$array[0] = Memoria de carga (Porcentaje de memoria en uso)
$array[1] = Total de memoria física en RAM
$array[2] = Cantidad física de RAM disponible
$array[3] = Total de paginación
$array[4] = Paginación disponible
$array[5] = Total en memoria virtual
$array[6] = Memoria virtual disponible

Todos los tamaños son mostrados en kilobytes.

Observaciones

Ninguno.

Relacionados

Ninguno.

Ejemplo

$mem = MemGetStats()
MsgBox(0, "Total de memoria física en RAM (KB):", $mem[1])


Función PixelChecksum

Referencia de función

PixelChecksum

Genera una suma de chequeo de una región de pixeles.

PixelChecksum ( izquierda, superior, derecha, inferior )

Parámetros

izquierda | Coordenada izquierda del rectángulo.
superior | Coordenada superior del rectángulo.
derecha | Coordenada derecha del rectángulo.
inferior | Coordenada inferior del rectángulo.

Valor devuelto

Devuelve el valor de la suma de chequeo de la región.

Observaciones

Realizando la suma de chequeo de una región consume mucho tiempo, así que use una pequeña región para reducir la carga de CPU. En algunas máquinas un chequeo de la pantallaa entera podría tomar muchos segundos!

Un chequeo sólo permite ver si "algo" ha cambiado en una región - no dice exactamente que cambió.

Relacionados

PixelChecksum, PixelGetColor, PixelCoordMode (Opción), PixelSearch

Ejemplo

; Espera hasta que algo cambie en la región 0,0 a 50,50

; Obtiene una revisión inicial
$checksum = PixelChecksum(0,0, 50,50)

; Espera que la región cambie, la regió es revisada cada 100ms para reducir la carga en CPU
While $checksum = PixelChecksum(0,0, 50, 50)
Sleep(100)
WEnd

MsgBox(0, "", "Algo cambió en la región!")


Función PixelGetColor

Referencia de función

PixelGetColor

Devuelve un color de pixel según las coordenadas x,y del pixel.

PixelGetColor ( x , y )

Parámetros

x | Coordenada x de pixel.
y | Coordenada y de pixel.

Valor devuelto

Al completar: Devuelve el valor decimal del color de pixel.
Al fallar: Devuelve -1 si son coordenadas no válidas.

Observaciones

Versiones anteriores de AutoIt (a v3.0.102) usan el formato BGR para la definición de color - nuevas versiones usar el formato RGB por defecto pero esto puede ser cambiado usando la opción ColorMode.

Relacionados

ColorMode (Opción), PixelSearch, PixelCoordMode (Opción), MouseGetPos

Ejemplo

$var = PixelGetColor( 10 , 100 )
MsgBox(0,"El color decimal es", $var)
MsgBox(0,"El color hex es", Hex($var, 6))


Función PixelSearch

Referencia de función

PixelSearch

Busca en una área específica de pixeles un pixel.

PixelSearch ( izquierda, superior, derecha, inferior, color [, variación-de-sombre] [, paso]] )

Parámetros

izquierda | Coordenada izquierda del rectángulo.
superior | Coordenada superior del rectángulo.
derecha | 0
Coordenada derecha del rectángulo. | 0
inferior | Coordenada inferior del rectángulo.
color | Valor decimal del color de pixel a buscar.
variación-de-sombra | (Opcional) Un número entre 0 y 255 para indicar el número permitidi de sombras de variación de los componentes rojo, verde, y azul de el color. Por defecto es 0 (igual).
paso | (Opcional) En vez de buscar cada pixel usar un valor mayor que 1 para saltar pixeles (para velocidad). Ejem. Un valor de 2 sólo revisará cada dos pixeles. Por defecto es 1.

Valor devuelto

Al completar: Devuelve un arreglo de dos-elementos de las coordenadas del pixel. (Array[0] = x, Array[1] = y)
Al fallar: Devuelve 1 y fija @error a 1 si el color no se encontró.

Observaciones

La búsqueda es realizada de izquierda-a-derecha, arriba-hacia-abajo, y el primer valor encontrado(pedido) es devuelto.

Versiones anteriores de AutoIt (a v3.0.102) usan el formato BGR para la definición de color - nuevas versiones usar el formato RGB por defecto pero esto puede ser cambiado usando la opción ColorMode.

Realizando una búsqueda de una región consume mucho tiempo, así que use una pequeña región para reducir la carga de CPU.

Relacionados

ColorMode (Opción), PixelChecksum, PixelGetColor, PixelCoordMode (Opción)

Ejemplo

; Busca un pixel rojo puro en el rango de 0,0-20,300
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )
If Not @error Then
MsgBox(0, "Está en X y Y:", $coord[0] & "," & $coord[1])
EndIf

; Busca un pixel rojo puro o pixel rojo dentro de 10 variaciones de sombras de rojo puro
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000, 10 )
If Not @error Then
MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf


Función SetError

Referencia de función

SetError

Manualmente fija el valor de la macro @error.

SetError ( código )

Parámetros

código El valor requerido (entero) a fijar en el macro @error.

Valor devuelto

Ninguno.

Observaciones

El códifo de @error sólo es válido hasta que la próxima función es llamada. Consecuentemente, tal vez necesite hacer una copia del estado de @error en una variable si usa el ciclo While-WEnd.

Relacionados

Ninguno.

Ejemplo

$result = myDiv(5, 0)
If @error Then
MsgBox(4096,"Error", "División por Cero")
Else
MsgBox(4096, "Resultado", $result)
EndIf
Exit

Func myDiv($dividend, $divisor)
If $dividend = 0 And $divisor = 0 Then
SetError(2) ; forma indeterminada 0/0
ElseIf $divisor = 0 Then
SetError(1) ;división por cero
EndIf
Return $dividend / $divisor
EndFunc


Función SoundPlay

Referencia de función

SoundPlay

Ejecuta un archivo de sonido.

SoundPlay ( "nombre de archivo" [, espera] )

Parámetros

nombre de archivo | Nombre de un archivo a ser ejecutado (Típicamente un WAV o MP3)
espera | (opcional) Esta bandera determina si el script esperaría a que el sonido finalice antes de continuar: 1 = esperar hasta que el sonido finalice 0 = continuar el script mientras esté ejecutádose (por defecto)

Valor devuelto

Ninguno. (Siempre devuelve 1 independientemente de finalizar con éxito.)

Observaciones

Terminando el script el sonido se detiene (si se estuviera ejecutando).

Relacionados

SoundSetWaveVolume

Ejemplo

SoundPlay("C:\Windows\media\tada.wav")


Función SoundSetWaveVolume

Referencia de función

SoundSetWaveVolume

Fija el volúmen de sistema para la Onda (wave volume) por porcentaje.

SoundSetWaveVolume ( porcentaje )

Parámetros

porcentaje Porcentaje entre 0 y 100

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si el porcentaje es inválido.

Observaciones

Este NO controla el volúmen general (Master volume). También, un valor de cero no enmudece (mute) el sonido.

Relacionados

SoundPlay

Ejemplo

SoundSetWaveVolume(50)


Función TimerDiff

Referencia de función

TimerDiff

Devuelve una diferencia en tiempo de una llamada previa a TimerInit().

TimerDiff ( estampadetiempo )

Parámetros

estampadetiempo estampadetiempo devuelve de una llamada previa a TimerInit().

Valor devuelto

Devuelve una diferencia en tiempo de una llamada previa(en milisegundos).

Observaciones

Ninguno.

Relacionados

TimerInit

Ejemplo

$begin = TimerInit()
sleep(3000)
$dif = TimerDiff($begin)
MsgBox(0,"Diferencia de tiempo",$dif)


Función TimerInit

Referencia de función

TimerInit

Devuelve una estampa de tiempo (en milisegundos).

TimerInit ( )

Parámetros

Ninguno.

Valor devuelto

Devuelve una estampilla de tiempo (en milisegundos).

Observaciones

Ninguno.

Relacionados

TimerDiff

Ejemplo

$begin = TimerInit()
sleep(3000)
$dif = TimerDiff($begin)
MsgBox(0,"Diferencia de Tiempo",$dif)


Función URLDownloadToFile

Referencia de función

URLDownloadToFile

Descarga un archivo de internet.

URLDownloadToFile ( "URL", "nombre de archivo" )

Parámetros

URL | URL del archivo a descargar.
nombre de archivo | Nombre de archivo a descargar.

Valor devuelto

Al completar: Devuelve 0.
Al fallar: Devuelve 1.

Observaciones

Se debe tener Internet Explorer 3 o superior instalado para que esta función trabaje. Cortafuegos (Firewalls) o la presencia de múltiple adaptadores de red puede causar que esta función falle. También, algunos websites pueden bloquear tal descarga.

Relacionados

Ninguno.

Ejemplo

URLDownloadToFile("http://www.mozilla.org", "C:\foo.html")
URLDownloadToFile("http://www.hiddensoft.com", "C:\mydownload.htm")


Función MouseClick

Referencia de función

MouseClick

Realiza un click de mouse.

MouseClick ( "botón" [, x, y [, clicks [, velocidad ]]] )

Parámetros

botón | El botón a clickear, click izquierdo: "left", click derecho: "right" o click medio: "middle".
x, y | [opcional] Las coordenadas x/y a mover el mouse. Si no, coordenadas x y y son asumidas a la actual posición.
clicks | [opcional] Número de veces a clickear con el mouse. Por defecto es 1.
velocidad | [opcional] La velocidad a mover el mouse en el rango 1 (rápido) a 100 (lento). La velocidad de 0 mueve el mouse instantáneamente. Por defecto la velocidad es 10.

Valor devuelto

Ninguno.

Observaciones

Si un usuario tiene invertida las preferencias del click, a lo que normalmente es (click izquierdo para "clickear" generalmente), un script tal vez no trabaje como se espera... Ver ejemplo para una solución.

Relacionados

MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (opción)

Ejemplo

; doble click a la actual posición de mouse
MouseClick("left")
MouseClick("left")

; doble click en 0,500
MouseClick("left", 0, 500, 2)

; VERSION SEGURA de doble click en 0,500

Dim $primary
Dim $secondary
;Determina si el usuario ha invertido los botones del mouse
$k = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "SwapMouseButtons")

; Determina si están invertidos
If $k = 1 Then
$primary = "right"
$secondary = "left"
Else ;normal (en caso de que no pudo leerse RegRead)
$primary = "left"
$secondary = "right"
EndIf
MouseClick($primary, 0, 500, 2)
Exit


Función MouseClickDrag

Referencia de función

MouseClickDrag

Realiza un click del mouse u operación de arrastrar.

MouseClick( "botón" [, x [, y [, clicks [, velocidad]]]] )

Parámetros

botón | El botón a clickear, izquierda; "left", derecha; "right" o "middle"(de en medio).
x, y | [opcional] Las coordenadas x/y a mover el mouse. Si no, coordenadas x y y son asumidas a la actual posición.
clicks | [opcional] Número de veces a clickear con el mouse. Por defecto es 1.
velocidad | [opcional] La velocidad a mover el mouse en el rango 1 (rápido) a 100 (lento). La velocidad de 0 mueve el mouse instantáneamente. Por defecto la velocidad es 10.

Valor devuelto

Ninguno.

Observaciones

Si un usuario tiene invertida las preferencias del click, a lo que normalmente es (click izquierdo para "clickear" generalmente), un script tal vez no trabaje como se espera...
Ver ejemplo para una solución.

Relacionados

MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (opción)

Ejemplo

; Arrastre del click izquierdo de 0,200 a 600, 700
MouseClickDrag("left", 0, 200, 600, 700)


Función MouseDown

Referencia de función

MouseDown

Realiza el evento de "bajar" el botón del mouse en la posición actual.

MouseDown ( "botón" )

Parámetros

botón Botón del mouse, "left"(izquierda), "right"(derecha), o "middle"(en medio)

Valor devuelto

Ninguno.

Observaciones

Ver Observaciones en MouseClick.
Usar responsablemente: Para cada MouseDown eventualmente hay un MouseUp.

Relacionados

MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (opción), MouseUp

Ejemplo

MouseDown("left")
Sleep(100)
MouseUp("left")


Función MouseGetCursor

Referencia de función

MouseGetCursor

Devuelve un ID de cursor del actual cursor.

MouseGetCursor ( )

Parámetros

Ninguno.

Valor devuelto

Devuelve un número ID de cursor:
0 = UNKNOWN (este incluye puntero e iconos de mano)
1 = APPSTARTING
2 = ARROW
3 = CROSS
4 = HELP
5 = IBEAM
6 = ICON
7 = NO
8 = SIZE
9 = SIZEALL
10 = SIZENESW
11 = SIZENS
12 = SIZENWSE
13 = SIZEWE
14 = UPARROW
15 = WAIT

Observaciones

Ninguno.

Relacionados

Ninguno.

Ejemplo

sleep(1000) ;Espera para que cursor AutoIt AppStarting desaparezca
$cursor = MouseGetCursor()


Función MouseGetPos

Referencia de función

MouseGetPos

Captura la posición actual del mouse.

MouseGetPos ( )

Parámetros

Ninguno.

Valor devuelto

Devuelve un arreglo de 2-elementos conteniendo las coordenadas del mouse:
$array[0] = coord X (horizontal)
$array[1] = coord Y (vertical)

Observaciones

Ver MouseCoordMode para posiciones relativas/absolutas. Si es relativa la posición, los números pueden ser negativos.

Relacionados

MouseClick, MouseClickDrag, MouseMove, MouseCoordMode (opción)

Ejemplo

$pos = MouseGetPos()
MsgBox(0, "Mouse x,y:", $pos[0] & "," & $pos[1])


Función MouseMove

Referencia de función

MouseMove

Mueve el puntero/cursor del mouse.

MouseMove( x, y [, velocidad] )

Parámetros

x | La coordenada X de la pantalla a mover.
y | La coordenada Y de la pantalla a mover.
velocidad | [opcional] La velocidad a mover el mouse en el rango 1 (rápido) a 100 (lento). La velocidad de 0 mueve el mouse instantáneamente. Por defecto la velocidad es 10.

Valor devuelto

El movimiento del usuario es impedido durante una operación no-instantánea de MouseMove.
Si está relativa la posición en MouseCoordMode, los números pueden ser negativos.

Observaciones

Ninguno.

Relacionados

MouseClick, MouseClickDrag, MouseGetPos, MouseCoordMode (opción)

Ejemplo

MouseMove(10, 100)
MouseMove(700, 700, 0)


Función MouseUp

Referencia de función

MouseUp

Realiza el evento de "levantar" el botón del mouse en la posición actual.

MouseUp( "botón" )

Parámetros

botón Botón del mouse, "left"(izquierda), "right"(derecha), o "middle"(en medio)

Valor devuelto

Ninguno.

Observaciones

Ver Observaciones en MouseClick.
Para cada MouseDown eventualmente hay un MouseUp.

Relacionados

MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (opción), MouseDown

Ejemplo

MouseDown("left")
Sleep(100)
MouseUp("left")


Función MouseWheel

Referencia de función

MouseWheel

Moves the mouse wheel up or down. NT/2000/XP ONLY.

MouseWheel ( "direction" [, clicks] )

Parámetros

direction | "up" or "down"
clicks | [optional] The number of times to move the wheel. Default is 1.

Valor devuelto

None.

Observaciones

This function only works on NT, 2000, XP and later operating systems.

Relacionados

MouseClick, MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (Option)

Ejemplo

; Move the wheel up 10 times
MouseWheel("up", 10)


Función ProcessClose

Referencia de función

ProcessClose

Termina el proceso nombrado.

ProcessClose ( "proceso" )

Parámetros

proceso El nombre o PID del proceso a terminar.

Valor devuelto

Ninguno. (Devuelve 1 independientemente de finalizar con éxito/fallo.)

Observaciones

Nombre de procesos son ejecutables sin la dirección completa (full path), ej., "notepad.exe" o "winword.exe"
Si múltiples procesos tienen el mismo nombre, con el PID mayor son terminados--a pesar de cúan recientemente el proceso fué adquirido.
PID es un número único que identifica un Proceso. Un PID puede ser obtenido a través de los comandos ProcessExists o Run.
Para que trabaje bajo Windows Nt 4.0, ProcessWaitClose requiere el archivo PSAIP.DLL (Disponible y distribuíble de Microsoft).
El proceso es buscado cada 250 milisegundos apróx.

Relacionados

ProcessExists, ProcessWait, ProcessWaitClose, Run, WinClose

Ejemplo

ProcessClose("notepad.exe")

$PID = ProcessExists("notepad.exe") ; Devolverá el PID o 0 si el proceso no fué encontrado.
If $PID Then ProcessClose($PID)


Función ProcessExists

Referencia de función

ProcessExists

Revisa si un proceso especificado existe.

ProcessExists ( "proceso" )

Parámetros

proceso El nombre o PID del proceso a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el proceso no existe.

Observaciones

Nombre de procesos son ejecutables sin la dirección completa (full path), ej., "notepad.exe" o "winword.exe"
PID es un número único que identifica un Proceso. Un PID puede ser obtenido a través de los comandos ProcessExists o Run.
Para que trabaje bajo Windows Nt 4.0, ProcessWaitClose requiere el archivo PSAIP.DLL (Disponible y distribuíble de Microsoft).
El proceso es buscado cada 250 milisegundos apróx.

Relacionados

ProcessClose, ProcessWait, ProcessWaitClose, WinExists

Ejemplo

If ProcessExists("notepad.exe") then
MsgBox(0, "Example", "Notepad está activo.")
EndIf


Función ProcessSetPriority

Referencia de función

ProcessSetPriority

Cambia la priorida de un proceso

ProcessSetPriority ( "proceso", prioridad)

Parámetros

proceso | El nombre o PID del proceso a revisar.
prioridad | Una bandera que determina que prioridad se fijará 0 - Inactiva/Baja 1 - Abajo de normal (No soportado en Windows 95/98/ME) 2 - Normal 3 - Arriba de Normal (No soportado en Windows 95/98/ME) 4 - Alta 5 - Tiempo real (Usar con precaución, puede inestabilizar el sistema)

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 y fija @error a 1. Puede fijar @error a 2 si se intenta usar una clase de prioridad no soportada.

Observaciones

Prioridades Arriba de Normal y Abajo de Normal no son soportadas en Windows 95/98/ME. Si se intenta usar éstas en estas plataformas, la función fallará devolviendo @error a 2.

Relacionados

Ejemplo

Run("Notepad.exe")
ProcessSetPriority("notepad.exe", 0)
; Notepad se fijaría ahora a prioridad Baja


Función ProcessWait

Referencia de función

ProcessWait

Pausa script ejecución hasta que un determinado proceso exista.

ProcessWait ( "proceso" [, intérvalo] )

Parámetros

proceso | El nombre del proceso a revisar.
intérvalo | [opcional] Especifica cuánto a espera (por defecto, espera indefinidamente).

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si expiró el tiempo.

Observaciones

Nombre de procesos son ejecutables sin la dirección completa (full path), ej., "notepad.exe" o "winword.exe"
Para que trabaje bajo Windows Nt 4.0, ProcessWaitClose requiere el archivo PSAPI.DLL (Disponible y distribuíble de Microsoft).
El proceso es buscado cada 250 milisegundos apróx.

Esta función es la única que no acepta el PID del proceso. Porque los PIDs son localizados aleatoriamente, esperando a que un PID que exista no tiene sentido.

Relacionados

ProcessClose, ProcessExists, ProcessWaitClose, RunWait, WinWait, WinWaitActive

Ejemplo

ProcessWait("notepad.exe")


Función ProcessWaitClose

Referencia de función

ProcessWaitClose

Pausa script ejecución hasta que un determinado proceso no exista.

ProcessWaitClose ( "proceso" [, intérvalo] )

Parámetros

proceso | El nombre o PID del proceso a revisar.
intérvalo | [opcional] Especifica cuánto tiempo esperará (por defecto espera indefinidamente).

Valor devuelto

Al completar: | Devuelve 1.
Al fallar: | Devuelve 0 si expiró el tiempo.

Observaciones

Nombre de procesos son ejecutables sin la dirección completa (full path), ej., "notepad.exe" o "winword.exe"
PID es un número único que identifica un Proceso. Un PID puede ser obtenido a través de los comandos ProcessExists o Run.
Para que trabaje bajo Windows Nt 4.0, ProcessWaitClose requiere el archivo PSAPI.DLL (Disponible y distribuíble de Microsoft).
El proceso es buscado cada 250 milisegundos apróx.

Relacionados

ProcessClose, ProcessExists, ProcessWaitClose, RunWait, WinWaitClose

Ejemplo

;Espera hasta que no exista una instancia de notepad.exe
ProcessWaitClose("notepad.exe")

; Este esperará hasta que esta particular instancia de notepad termine
$PID = Run("notepad.exe")
ProcessWaitClose($PID)


Función Run

Referencia de función

Run

Ejecuta un programa externo.

Run ( "nombre de archivo" [, "directorio actual" [, bandera]] )

Parámetros

nombre de archivo | El nombre del ejecutable (EXE, BAT, COM, o PIF) a ejecutar.
directorio actual | [opcional] El directorio o folder en el que se está trabajando.
bandera | [opcional] La bandera que determina cómo se mostrará el programa: @SW_HIDE = Ventana oculta @SW_MINIMIZE = Ventana minimizada @SW_MAXIMIZE = Ventana Maximizada

Valor devuelto

Al completar: El PID del proceso es devuelto.
Al fallar: Depende en RunErrorsFatal; ver Observaciones.

Observaciones

Para ejecutar comandos de DOS (consola), intente Run(@ComSpec & " /c " & 'NombreDeComando', "", @SW_HIDE)

El comando RunWait ejecuta el programa solicitado, el script se pausa hasta que el programa termine.
Al correr un programa e inmediatamente continuar la ejecución del script use la función Run.

Por defecto el script terminará con un error fatal error si la función Run falla. Fijando @error a 1 como indicación de fallo, ver AutoItSetOption.

Relacionados

RunAsSet, RunErrorsFatal (opción), RunWait

Ejemplo

Run("Notepad.exe", "", @SW_MAXIMIZE)


Función RunAsSet

Referencia de función

RunAsSet

Inicializa a un set de credenciales de usuario a usar durante las operaciones Run y RunWait. Sólo 2000/XP o posteriores.

RunAsSet ( ["usuario", "dominio", "contraseña"] [, opciones])

Parámetros

usuario | El nombre de usuario a usar.
dominio | El nombre del dominio a usar.
contraseña | La contraseña a usar.
opciones | [opcional] 0 = No carga el perfil del usuario, 1 = (por defecto) carga el perfil del usuario, 2 = usar para credenciales de red solamente

Valor devuelto

Devuelve 0 si el sistema operativo no soporta esta función.
De otra manera devuelve 1--independientemente de finalizar con éxito. (Si la información de entrada fué inválida, subsiguiente los comandos Run/RunWait fallarán....)

Observaciones

Esta función permite subsecuentemente a las funciones Run y RunWait correr como un usuario diferente (ejem. Administrador). La función sólo trabaja en 2000/XP (o psteriores). Usuarios NT4 pueden instalar y usar el comando SU del Kit de Recursos de NT.

El servicio "Secondary Logon service" no debe estar desactivado si desea usar esta función.

Para reiniciar el valor de RunAs, use la función sin parámetros: RunAsSet().

Relacionados

RunAsSet, RunErrorsFatal (opción), RunWait

Ejemplo

; Fijar como Administrador local RunAs
RunAsSet("Administrador", @Computername, "adminpassword")

; Ejecutar el registro como admin
RunWait("regedit.exe")

; Resetar los permisos de usuario
RunAsSet()


Función RunWait

Referencia de función

RunWait

Ejecuta un programa externo y pausa la ejecución del script hasta que el programa finalice.

Run ( "nombre de archivo" [, "directorio actual" [, bandera]] )

Parámetros

nombre de archivo | El nombre del ejecutable (EXE, BAT, COM, o PIF) a ejecutar.
directorio actual | [opcional] El directorio o folder en el que se está trabajando.
bandera | [opcional] La bandera que determina cómo se mostrará el programa: @SW_HIDE = Ventana oculta @SW_MINIMIZE = Ventana minimizada @SW_MAXIMIZE = Ventana Maximizada

Valor devuelto

Al completar: Nada (Siempre devuelve 1).
Al fallar: Depende en RunErrorsFatal; ver Observaciones.

Observaciones

Para ejecutar comandos de DOS (consola), intente RunWait(@ComSpec & " /c " & 'NombreDeComando', "", @SW_HIDE)

Al ejecutarse el programa solicitado el script se pausa hasta que el programa termine.
Al correr un programa e inmediatamente continuar la ejecución del script use la función Run.
Algunos programas puede aparecer devolviendo un valor inmediatamente aunque sigan ejecutándose; estos programas contienen otros procesos - para manejar estos casos puede usar la función ProcessWaitClose.

Por defecto el script terminará con un error fatal error si la función Run falla. Fijando @error a 1 como indicación de fallo, ver AutoItSetOption.

Relacionados

ProcessWait, ProcessWaitClose, RunAsSet, RunErrorsFatal (opción), RunWait

Ejemplo

$val = RunWait("Notepad.exe", "C:\WINDOWS", @SW_MAXIMIZE)
; script hasta que Notepad cierre
MsgBox(0, "Programa ha devuelto el código de salida: ", $val)


Función Shutdown

Referencia de función

Shutdown

Cierra el sistema.

Shutdown ( código )

Parámetros

código Una combinación de códigos para apagar. Ver Observaciones.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

El código de ShutDown puede combinarse de estos valores:
0 = Cerrar sesión
1 = Cierre de Sistema
2 = Reiniciar
4 = Forzar
8 = Apagar

Agrege los valores requeridos juntos. Por ejemplo un apagar y cierre de sistema, por ejemplo, el código sería 9 (cierre de sistema + apagar = 1 + 8 = 9).

Modo de Espera (Standby) o Hibernación (hibernate) pueden ser fijados con programas de otra gente tal como http://grc.com/wizmo/wizmo.htm

Relacionados

ProcessClose

Ejemplo

Shutdown(6) ;Fuerza a reiniciar


Función Sleep

Referencia de función

Sleep

Pausa la ejecución de un script.

Sleep ( espacio de tiempo )

Parámetros

espacio de tiempo Cantidad de tiempo a pausar (en milisegundos).

Valor devuelto

Ninguno.

Observaciones

Tiempo máximo de Sleep 2147483647 milisegundos (24 días).

Relacionados

Ninguno.

Ejemplo

Sleep(5000) ;cinco segundos


Función RegDelete

Referencia de función

RegDelete

Elimina una clave o valor del registro.

RegDelete ( "nombredeclave" [, "nombredevalor"] )

Parámetros

nombredeclave | Clave de registro a borrar.
nombreedevalor | [opcional] Nombre del valor a borrar.

Valor devuelto

Al completar: Devuelve 1.
Especial: Devuelve 0 si la clave/valor no existe.
Al fallar: Devuelve 2 si hubo un error eliminando clave/valor.

Observaciones

Una clave de registro debe empezar con "HKEY_LOCAL_MACHINE" ("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o "HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC").
Eliminando desde el registro es potencialmente peligroso--use cuidadosamente!

Para accesar al (Por defecto) valor usa "" (un cadena de texto vacía) para el nombre del valor.

Es posible accesar a registros remotos usando un nombre de clave en la forma "\\computername\keyname".
Para usar esta característica debe de tener permisos en NT/2000/XP/2003, o si se está usando un SO basado en 9x en la PC remota debe tener el registro el servicio instalado primero (ver Artículo Base de Microsoft Knowledge - 141460).

Relacionados

RegRead, RegWrite

Ejemplo

RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey")


Función RegEnumKey

Referencia de función

RegEnumKey

Reads the name of a subkey according to it's instance.

RegEnumKey ( "keyname", instance )

Parámetros

keyname | The registry key to read.
instance | The 1-based key instance to retrieve

Valor devuelto

Success: | Returns the requested subkey name..
Failure: | Returns "" and sets the @error flag:
 | 1 if unable to open requested key
 | -1 if unable to retrieve requested subkey (key instance out of range)

Observaciones

A registry key must start with "HKEY_LOCAL_MACHINE" ("HKLM") or "HKEY_USERS" ("HKU") or "HKEY_CURRENT_USER" ("HKCU") or "HKEY_CLASSES_ROOT" ("HKCR") or "HKEY_CURRENT_CONFIG" ("HKCC").

Relacionados

RegEnumVal, RegDelete, RegWrite, StringSplit

Ejemplo

$var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", 1)
MsgBox(4096, "First SubKey under HKLM\Software: ", $var)
$var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", 2)
MsgBox(4096, "Second SubKey under HKLM\Software: ", $var)


Función RegEnumVal

Referencia de función

RegEnumVal

Reads the name of a value according to it's instance.

RegEnumVal ( "keyname", instance )

Parámetros

keyname | The registry key to read.
instance | The 1-based value instance to retrieve

Valor devuelto

Success: | Returns the requested value name..
Failure: | Returns "" and sets the @error flag:
 | 1 if unable to open requested key
 | -1 if unable to retrieve requested value name (value instance out of range)

Observaciones

A registry key must start with "HKEY_LOCAL_MACHINE" ("HKLM") or "HKEY_USERS" ("HKU") or "HKEY_CURRENT_USER" ("HKCU") or "HKEY_CLASSES_ROOT" ("HKCR") or "HKEY_CURRENT_CONFIG" ("HKCC").

Relacionados

RegEnumKey, RegDelete, RegWrite, StringSplit

Ejemplo

$var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\HiddenSoft\AutoIt3", 1)
MsgBox(4096, "First Value Name under in AutoIt3 key", $var)
$var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\HiddenSoft\AutoIt3", 2)
MsgBox(4096, "Second Value Name under in AutoIt3 key: ", $var)


Función RegRead

Referencia de función

RegRead

Lee un valor del registro.

RegRead ( "nombredeclave", "nombredevalor" )

Parámetros

nombredeclave | Clave del registro a leer.
nombredevalor | Nombre de valor a leer.

Valor devuelto

Al completar: Devuelve el valor solicitado.
Al fallar: Devuelve 1 y Fija la bandera @error a:
1 si la clave solicitada no se pudo abrir
-1 si el valor solicitada no se pudo abrir
-2 si el tipo de valor no es soportado

Observaciones

Una clave de registro debe empezar con "HKEY_LOCAL_MACHINE" ("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o "HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC").
AutoIt soporta claves de tipo REG_BINARY, REG_SZ, REG_EXPAND_SZ, y REG_DWORD.

Cuando se lee un REG_BINARY el resultado es una cadena de texto de caracteres hex, ejem. El valor REG_BINARY de 01,a9,ff,77 será leído como una cadena de texto "01A9FF77".

Cuando se lee una clave REG_MULTI_SZ con múltiples entradas son separadas por @LF - use la función StringSplit(..., @LF) para obtener cada entrada.

Es posible que el acceso remoto usando un nombre de clave en la forma. Para usar esta característica debe de tener permisos en NT/2000/XP/2003, o si se está usando un SO basado en 9x en la PC remota debe tener el registro el servicio instalado primero (ver Artículo Base de Microsoft Knowledge - 141460).

Relacionados

RegDelete, RegWrite, StringSplit

Ejemplo

$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox(4096, "Program files o Archivos de Programas está como:", $var)


Función RegWrite

Referencia de función

RegWrite

Escribe un valor al registro.

RegWrite ( "nombredeclave", "nombredevalor", "tipo", valor )

Parámetros

nombredeclave | Clave del registro a leer.
nombredevalor | Nombre de valor a escribir.
tipo | Tipo de clave a escribir: "REG_SZ", "REG_EXPAND_SZ", "REG_DWORD", o "REG_BINARY".
valor | Valor a escribir.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si hubo un error escribiendo el valor.

Observaciones

Una clave de registro debe empezar con "HKEY_LOCAL_MACHINE" ("HKLM") o "HKEY_USERS" ("HKU") o "HKEY_CURRENT_USER" ("HKCU") o "HKEY_CLASSES_ROOT" ("HKCR") o "HKEY_CURRENT_CONFIG" ("HKCC").
AutoIt soporta claves de tipo REG_BINARY, REG_SZ, REG_EXPAND_SZ, y REG_DWORD.

Cuando se lee un REG_BINARY el resultado es una cadena de texto de caracteres hex, ejem. El valor REG_BINARY de 01,a9,ff,77 será leído como una cadena de texto "01A9FF77".

Cuando se lee una clave REG_MULTI_SZ con múltiples entradas son seperadas por @LF - use la función StringSplit(..., @LF) para obtener cada entrada.

Es posible que el acceso remote usando un nombre de clave en la forma. Para usar esta característica debe de tener permisos en NT/2000/XP/2003, o si se está usando un SO basado en 9x en la PC remota debe tener el registro el servicio instalado primero (ver Artículo Base de Microsoft Knowledge - 141460).

Relacionados

RegDelete, RegRead

Ejemplo

RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "testKey", "REG_SZ", "Hola esto es una prueba")

; Simple REG_SZ
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_SZ", "Hola esto es una prueba")

; Escribir valor en un REG_MULTI_SZ de "line1" y "line2"
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_MULTI_SZ", "line1" & @LF & "line2")

; INCORRECTO uso de REG_MULTI_SZ
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_MULTI_SZ", "line1" & @LF & "line2" & @LF)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey", "REG_MULTI_SZ", "line1" & @LF & @LF & "line2" & @LF)


Función StringAddCR

Referencia de función

StringAddCR

Toma una cadena de texto y prefija todos los caracteres de ( Chr(10) ) con un retorno de carro ( Chr(13) ).

StringAddCR ( "cadena de texto" )

Parámetros

cadena de texto La cadena de texto a convertir.

Valor devuelto

Devuelve el cadena de texto con todas las instancias de avance de líneas ( @LF ) prefijados con un caracter de retorno de carro ( @CR ).

Observaciones

Ninguno.

Relacionados

StringStripCR, StringReplace

Ejemplo

$old = "Notepad" & @LF & "espera" & @LF & "texto CRLF."
$new = StringAddCR($old)


Función StringInStr

Referencia de función

StringInStr

Revisa si una cadena de texto contiene una determinada sub-cadena de texto (sub-cadena de texto).

StringInStr( "cadena de texto", "sub-cadena de texto" [, casesense [, ocurrencia]] )

Parámetros

cadena de texto | Cadena de texto a revisar
sub-cadena de texto | la sub-cadena de texto a buscar. (substring)
casesense | [opcional] bandera que indica si las operaciones serían caso sensitivo. 0 = no caso sensitivo (por defecto) 1 = caso sensitivo
occurancia | [opcional] Determina qué occurencia o instancia de subcadena buscará en la cadena de texto. Usar un número negativo buscará la ocurrencia a partir del lado derecho. El valor por defecto es 1 (encuentra la primera ocurrencia).

Valor devuelto

@Error | 0 - Operación normal
 | 1 - Ocurrencia fué 0. Ocurrencia debe ser un número entero positivo o negativo.

Observaciones

La primera posición del caracter es 1. Si la ocurrencia es dada, caso sensitivo también debe ser dado.

Relacionados

String, StringLeft, StringLen, StringLower, StringMid, StringRight, StringtrimLeft, StringtrimRight, StringUpper

Ejemplo

$result = StringInStr("Soy una cadena de texto", "cadena")
MsgBox(0, "Search result:", $result)

$location = StringInStr("Cuánta madera puede maderarse porque es una maderaza puede ser madera?", "madera", 0, 3) ; Busca la tercera ocurrencia de "madera"


Función StringIsAlNum

Referencia de función

StringIsAlNum

Revisa si una cadena de texto sólo contiene caracteres alfanuméricos .

StringIsAlNum ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene caracteres no-alfanuméricos.

Observaciones

Mantener en mente que algún espacio causará que StringIsAlNum devuelva 0.

Relacionados

StringIsAlpha, StringIsASCII, StringIsDigit, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Ejemplo

$x = "esta es una cadena de texto con espacios."
MsgBox(0,"StringIsAlNum Devuelve:", StringIsAlNum($x))


Función StringIsAlpha

Referencia de función

StringIsAlpha

Revisa si una cadena de texto sólo contiene caracteres del alfabeto.

StringIsAlpha ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene caracteres no alfabéticos.

Observaciones

Mantener en mente que algún espacio causará que StringIsAlpha devuelve 0.

Relacionados

StringIsAlNum, StringIsASCII, StringIsDigit, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Ejemplo

$x = "esta frase contiene espacios en blanco."
MsgBox(0,"StringIsAlpha devuelve:", StringIsAlpha($x))


Función StringIsASCII

Referencia de función

StringIsASCII

Revisa si una cadena de texto sólo contiene caracteres ASCII en el rango de 0x00 - 0x7f (0 - 127).

StringIsASCII ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene caracteres extendidos ASCII.

Observaciones

StringIsAlNum, StringIsAlpha, StringIsDigit, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Relacionados

Ninguno.

Ejemplo

$x = StringIsASCII("esta es una oración.")
MsgBox(0,"StringIsASCII devuelve:", $x)


Función StringIsDigit

Referencia de función

StringIsDigit

Revisa si una cadena de texto sólo contiene caracteres de digitos (0-9).

StringIsDigit ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto no contiene dígitos.

Observaciones

StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Relacionados

Ninguno.

Ejemplo

$x = "123123"
If StringIsDigit($x) then
MsgBox(0,"","Esta variable contiene sólo digitos")
EndIf


Función StringIsFloat

Referencia de función

StringIsFloat

Revisa si una cadena de texto es un número de tipo decimal (punto flotante).

StringIsFloat ( "cadena de texto" )

Parámetros

cadena de texto La cadena de texto o expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si no es del formato esperado.

Observaciones

Ninguno.

Relacionados

StringIsInt

Ejemplo

Is StringIsFloat("1.982") then
MsgBox(0, "Resultado:", "Es un decimal"
EndIf


Función StringFormat

Referencia de función

StringFormat

Devuelve una cadena de texto con formato (similar a la función de C sprintf()).

StringFormat( "formato de control", $var1 [, ... $var32] )

Parámetros

formato de control | El formato y banders a usar (ver Observaciones).
$var1...$var32 | Hasta 32 variables será la salida de acuerdo al "formato de control".

Valor devuelto

Devuelve la cadena de texto con formato según a "formato de variable" definido en el parámetro de "formato de control".

Observaciones

Par prevenir búffer se sobrecargue, cada "variable" está limitado a 65535 caracteres.

"formato de variable" is; %[banderas] [ancho] [.precisión] tipo

Especificación de Ancho

El campo de la segunda opción de la especificación del formato es el ancho. El ancho de argumento es un entero decimal nonnegativo controlando el número mínimo de caracteres impresos. Si el número de caracteres en el valor de salida es menor que el ancho especificado, espacios vacíos son agregados a la izquierda o derecha de los valores — dependiendo si la – bandera (para el alineamiento de izquierda) es especificado — hasta que el ancho mínimo es alcanzado. Si el ancho es prefijado con 0, ceros son agregados hasta que el ancho mínimo es encontrado (no útil para alinear a la izquierda).

La especificación de la ancho nunca causa un valor sea truncado. Si el número de caracteres en el valor de salida es mayor que el ancho especificado, o si el ancho no es indicado, todos los caracteres de el valor son impresos (sujeto a la especificación de precisión).

Tipo de especificación

Tipo | Tipo de variable | Formato de salida
d, i | Entero | entero decimal signado.
o | Entero | Entero octal no signado.
u | Entero | Entero decimal decimal entero.
x | Entero | Entero hexadecimal no signado, usando "abcdef".
X | Entero | Entero hexadecimal no signado, usando "ABCDEF".
e | Flotante | Valor signado teniendo la forma [ - ]d.dddd e [sign]ddd donde d es un dígito decimal simple, dddd es uno o más dígitos decimales, ddd es exactamente tres dígitos decimales, y el sign es + or -.
E | Flotante | Idéntico al formato e excepto que E antes e introduce el exponente.
f | Flotante | Valor signado con la forma [ - ]dddd.dddd, donde dddd es una o más dígitos decimales. El número de dígitos antes el punto decimal dependen en la magnitud de el número, y el número de dígitos después del punto decimal point depende en la precisión esperada.
g | Flotante | Valor signado mostrado en el formato f or e, cualquiera es más compacto para dar valor y precisión. El formato e es usado sólo cuando el exponente del valor es menor que -4 o mayor o igual que al la precisión del argumento. Ceros antes son truncados, y puntos decimales aparecen sólo si uno o más digitos le siguen.
G | Flotante | Idéntico al formato g, excepto que E, antes que e, se introduce el exponente (donde es apropriado).
s | String | Cadena de texto.

Bandera Especificación

Bandera | Significado | Por defecto
- | Alinea a la izquierda el resultado según el ancho del campo. | Alinea a la derecha.
+ | Prefija el valor de la salida con un signo (+ o -) si el valor de la salida es un tipo signado. | Signo aparece sólo para valores negativos signados (-).
0 | Si el ancho es prefijado con 0, ceros son agregados hasta que el ancho mínimo es encontrado. Si 0 y - aparecen, el 0 es ignorado. Si 0 es especificado con un formato entero (i, u, x, X, o, d) el 0 es ignorado. | No relleno.
Blank | Valor prefijado en vacío si la salida está signada y es positiva; el vacío/en blanco es ignorado si aparece con el signo +. | No aparece vacío.
# | Cuando es usado con el formato o, x, or X, la bandera # prefijada a alguna salida no-cero con 0, 0x, o 0X, respectivamente. | No aparece vacío.
# | Cuando es usado con el formato e, E, or f, la bandera # fuerza la salida a contener un punto decimal en todos los casos. | Punto decimal aparece sólo si le sigue un dígito.
# | Cuando es usado con el formato g or G, la bandera # fuerza a contener un punto decimal en todos los casos y previene el truncamiento de ceros posteriores. Ignorado cuando es usado con c, d, i, u, or s. | Punto decimal point aparece sólo si es seguido de dígitos. Ceros siguientes son truncados.

Precision Especificación

El tercer campo opcinal del el formato. Es especificado in decimal entero no-negativo, precedido por un punto (.), que especifica el número de caracteres a ser mostrados, el número de posición del punto, o el número de dígitos significantes (ver la Tabla abajo). Diferente a la especificación de ancho, la precisión puede causar truncamiento en la salida o redondeo de un valor decimal. Si la precisión es especificada como 0 y el valor es convertido a 0, el resultado de salida no son caracteres, como se muestra abajo:

printf( "%.0d", 0 ); /* No hay salida de caracteres */

Cómo la precisión afecta el Tipo

Tipo | Significado | Por defecto
d, i, u, o, x, X | La precisión especifica el número mínimo de dígitos a ser mostrados. Si el número de dígitos en el argumento es menor que la precisión, la salida valor es pasada a la izquierda con ceros. El valor no es truncado cuando el número de dígitos excede la precisión. | Por defecto la precisión es 1.
e, E | Especifica la precisión del número de dígitos a ser mostradosdepués del punto decimal. El último mostrado es redondeado. | Por defecto la precisión es 6; si la precisión es 0 o el punto (.) aparece con números después de el mismo, no se muestra el punto decimal.
f | Especifica la precisión del número de dígitos después del punto decimal. Si el punto decimal aparece, al más mínimo aparece antes. El valor es redondeado a los número apropiados de dígitos. | Por defecto la precisión es 6; si la precisión es 0 o el punto (.) aparece con números después de el mismo, no se muestra el punto decimal.
g, G | Especifica la precisión del número de dígitos significantes mostrados. | Seis significantes dígitos son mostrados, con algunos ceros truncados.
s | Especifica la precisión del número de dígitos de caracteres a ser mostrados. Caracteres en exceso de precisión no son mostrados. | Caracteres son mostrados hasta que exista un caracter nulo.

Relacionados

Ninguno.

Ejemplo

$string = "cadena de texto"
$flotante = 12.3
$int = 345
$s =StringFormat ( "var1=%s var2=%.2f, var3=%d" ,$string, $flotante, $int )
$msgbox(0, "Resultado", $s)
; será lal salida "var1=string var2=12.30 var3=345"
; note que 12.30 termina con la forma %.2f que fuerza a mostrar 2 dígitos después del punto decimal


Función StringIsInt

Referencia de función

StringIsInt

Revisa si una cadena de texto es un entero.

StringIsInt ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto no puede ser un entero.

Observaciones

StringIsInt también devuelve 1 para expresiones no-cadenas de entero; sin embargo, StringIsInt devuelve 0 para expresiones hexadecimales tal como "4ff0".

Relacionados

StringIsFloat, StringIsDigit

Ejemplo

If StringIsInt("-42") Then
MsgBox(0, "Resultado:", "String es un entero"
EndIf


Función StringIsLower

Referencia de función

StringIsLower

Revisa si una cadena de texto sólo contiene letras minúsculas.

StringIsLower ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene caracteres no esperados.

Observaciones

Nótese que los dígitos/puntuaciones/espacios en blanco causaran que StringIsLower devuelva 0.

Relacionados

StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsSpace, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Ejemplo

If StringIsInt("abcfoo") then
MsgBox(0, "Resultado:", "Sólo contiene letras minúsculas"
EndIf


Función StringIsSpace

Referencia de función

StringIsSpace

Revisa si una cadena de texto sólo contiene caracteres de espaciado.

StringIsSpace ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene caracteres no relacionados con espaciado.

Observaciones

Espaciado incluye Chr(9) por Chr(13) que es Tabulación Horizontal, LF, Verticaltab, FormFeed, y Retorno de carro.
También incluye cadena de texto nula ( Chr(0) ) y el espacio estándar ( Chr(32) ).

Relacionados

StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsLower, StringIsUpper, StringIsXDigit, StringUpper, StringLower

Ejemplo

$x = " " & @LF & Chr(11) & @TAB & " " & @CRLF
If StringIsSpace($x) then
MsgBox(0,"", "Sólo contiene caracteres de espacio.")
EndIf


Función StringIsUpper

Referencia de función

StringIsUpper

Revisa si una cadena de texto sólo contiene letras mayúsculas.

StringIsUpper ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene letras que no son mayúsculas.

Observaciones

Note que los dígitos/puntuación/espacios en blanco causará que StringIsUpper devuelva 0.

Relacionados

StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsLower, StringIsSpace, StringIsXDigit, StringUpper, StringLower

Ejemplo

If StringIsInt("ABCDF") then
MsgBox(4096,"", "String contiene sólo letras MAYUSCULAS"
EndIf


Función StringIsXDigit

Referencia de función

StringIsXDigit

Revisa si una cadena de texto sólo contiene dígitos hexadecimales (0-9, A-F).

StringIsXDigit ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si una cadena de texto contiene un caracter no-hexadecimal.

Observaciones

Nota que una cadena de texto conteniendo espacios en blanco o el prefijo "0x" causará que StringIsXDigit devuelva 0.

Relacionados

StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsLower, StringIsSpace, StringIsUpper, StringUpper, StringLower

Ejemplo

If StringIsXDigit("cafeBabe99") Then
MsgBox(0,"", "La cadena de texto pudiera tener valores hexadecimales.")
EndIf


Función StringLeft

Referencia de función

StringLeft

Devuelve un número de caracteres del lado izquierdo de una cadena de texto.

StringLeft( "cadena de texto", cantidad )

Parámetros

cadena de texto | Cadena de texto a revisar
cantidad | El número de caracteres a obtener.

Valor devuelto

Devuelve una cadena de texto conteniendo los caracteres del extremo izquierdo según la cantidad caracteres especificada.

Observaciones

Si cantidad excede la longitud de la cadena de texto o si cantidad es una valor negativo, la cadena de texto entera es devuelta.

Relacionados

String, StringInStr, StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$result = StringLeft("Soy una cadena de texto", 3)
MsgBox(0, "3 caracteres del lado izq. son:", $result)


Función StringLen

Referencia de función

StringLen

Devuelve el número de caracteres en una cadena de texto.

StringLen ( "cadena de texto" )

Parámetros

cadena de texto Cadena de texto a revisar

Valor devuelto

Devuelve la longitud de una cadena de texto.

Observaciones

Una expresión numerica es automaticamente evaluada y convertida a una cadena de texto.

Relacionados

String, StringInStr, StringLeft, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$len = StringLen("Cuánta es mi longitud?")
MsgBox(0, "String length is:", $len)


Función StringLower

Referencia de función

StringLower

Convierte una cadena de texto a minúscula.

StringLower ( "cadena de texto" )

Parámetros

cadena de texto La cadena de texto a convertir.

Valor devuelto

Devuelve la cadena de texto convertida a minúscula.

Observaciones

StringIsLower, StringIsUpper, String, StringInStr, StringLeft, StringLen, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Relacionados

Ninguno.

Ejemplo

$var = StringLower("Soy una cadena de texto")
MsgBox(0, "Cadena convertida a minúscula es:", $var)


Función StringMid

Referencia de función

StringMid

Extrae un número de caracteres de una cadena de texto.

StringMid ( "cadena de texto", inicio, cantidad )

Parámetros

cadena de texto | Cadena de texto a revisar
inicio | La posición del caracter a iniciar. (1 = primer caracter)
cantidad | El número de caracteres a extraer.

Valor devuelto

Devuelve una cadena de texto extraída.

Observaciones

Si inicio está fuera-de-límite, devuelve una cadena de texto vacía. Si inicio es válido pero la cantidad está fuera-de-límite, el residuo de la cadena de texto es devuelta.

Relacionados

String, StringInStr, StringLeft, StringLen, StringLower, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$var = StringMid("Soy una cadena de texto", 3, 2)
MsgBox(0, "2 caracteres extraídos de la posición 3 son:", $var)


Función StringReplace

Referencia de función

StringReplace

Reemplaza las subcadenas en una cadena de texto.

StringReplace ( "cadena de texto", "textobuscado", "textoareemplazar" [, cantidad [, casesensitivo]] )

Parámetros

string | Cadena de texto a revisar
textobuscado | Cadena de texto por buscar.
textoareemplazar | La cadena de texto a reemplazar.
cantidad | [opcional] Número de veces a reemplazar el "textobuscado". 0 = todas las instancias de "textobuscados" serán reemplazadas (por defecto) [cantidad < 0 también reemplaza todas las instancias]
casesensitivo | [opcional] bandera que indica si la búsqueda será caso sensitivo. 0 = ignorar caso sensitivo (por defecto) 1 = caso sensitivo (toma en cuenta mayúsculas y minúsculas)

Valor devuelto

Devuelve la nueva cadena de texto.

Observaciones

Buscar/reemplazar es realizado de izq.-a-derecha. Así, StringReplace("aaa", "aa", "bb") devuelve "bba"

Relacionados

String, StringLeft, StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$texto = StringReplace("esta es una linea de texto", " ", "-")
MsgBox(0, "título", $texto)


Función StringRight

Referencia de función

StringRight

Devuelve un número de caracteres del lado derecho de una cadena de texto.

StringRight( "cadena de texto", cantidad )

Parámetros

cadena de texto | Cadena de texto a revisar
cantidad | El número de caracteres a obtener.

Valor devuelto

Devuelve una cadena de texto conteniendo la cantidad de caracteres de una cadena de texto a partir de la derecha.

Observaciones

Si la cantidad excede la longitud o si la cantidad es valor negativ, el texto entero es devuelto (original).

Relacionados

String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$var = StringRight("Soy una cadena de texto", 3)
MsgBox(0, "Los 3 caracteres del lado der. son:", $var)


Función StringSplit

Referencia de función

StringSplit

Divide una cadena de texto en sub cadenas dependiendo on los determinados delimitadores.

StringSplit( "cadena de texto", "delimitadores" )

Parámetros

string | Cadena de texto a revisar
delimitadores | Uno o más caracteres para usar como delimitadores. e.g. Si quiere usar caracteres "*" y "-" como delimitadores, use "*-" para este parámetro.

Valor devuelto

Devuelve un arreglo, el primer elemento del arreglo ($array[0]) contiene el número de cadenas de texto devueltas, esos elementos quedan en las variables siguientes como ($array[1], $array[2], etc.).
Si no hay delimitadores @error es fijado a 1, la cantidad es 1 para ($array[0]) y es devuelto completamente el texto a ($array[1]).

Observaciones

Si el delimitador que elige es usado en vez de un subcadena de caracteres individuales, ver el ejemplo de abajo.

StringSplit es muy útil como una alternativa a StringInStr y la manera de poblar un arreglo.

Relacionados

String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringReplace, StringRight, StringTrimLeft, StringTrimRight, StringUpper

Ejemplo

$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")
;$days[1] contiene "Sun" ... $days[7] contien "Sat"

$texto = "Esta\nlinea\ncontiene\nsalto de linea como C (lenguaje)."
$array = StringSplit(StringReplace($texto, "\n", @LF), @LF)


Función StringStripCR

Referencia de función

StringStripCR

Remueve todo los valores de retorno de carro ( Chr(13) ) de una cadena de texto.

StringStripCR ( "cadena de texto" )

Parámetros

cadena de texto La cadena de texto a convertir.

Valor devuelto

Devuelve la cadena de texto con todas las instancias del caracter @CR (Chr(13)) removido.

Observaciones

Ninguno.

Relacionados

StringAddCR, StringStripWS, StringIsSpace

Ejemplo

$result = StringStripCR("Soy una cadena de texto" & Chr(13) & Chr(10))
MsgBox(0, "Valor de todos los caracteres @CR es:", $result)


Función StringStripWS

Referencia de función

StringStripWS

Acorta los espacios en blanco de una cadena de texto.

StringStripWS( "cadena de texto", bandera )

Parámetros

cadena de texto | La cadena de texto a acortar.
bandera | bandera que indica el tipo de acortamiento (agregar banderas juntas para operaciones múltiples): 1 = acortar espacios en blanco principales 2 = acortar los espacios en blanco rastreados 4 = acortar los espaciados dobles (o más) entre palabras

Valor devuelto

Devuelve la nueva cadena de texto acortada.

Observaciones

Espaciado incluye Chr(9) a través de Chr(13) que son TabHorizontal, Retorno de línea, TabVertical, FormFeed, y Retorno de carro. Whitespace también incluye texto nulo ( Chr(0) ) y el espacio estándar ( Chr(32) ).

Para acortar espacios simples entra palabras, usa la función StringReplace.

Relacionados

StringStripCR, StringIsSpace, StringReplace

Ejemplo

$texto = StringStripWS(" esta es una linea de texto ", 3)
MsgBox(0, "Acortado de ambos lados", $texto)


Función StringTrimLeft

Referencia de función

StringTrimLeft

Corta un número de caracteres desde la izquierda de una cadena de texto.

StringTrimLeft ( "cadena de texto", cantidad )

Parámetros

cadena de texto | Cadena de texto a revisar
cantidad | El número de caracteres a cortar.

Valor devuelto

Devuelve la cadena de texto cortada por la cantidad de caracteres desde la izquierda.

Observaciones

Si la cantidad está fuera-de-límite, devuelve una cadena de texto vacía.
StringTrimLeft($str, $n) es funcionalmente equivalente a StringRight($str, StringLen($str) - $n)

Relacionados

String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringRight, StringTrimRight, StringUpper

Ejemplo

$result = StringTrimLeft("I am a string", 3)
MsgBox(0, "Cadena de texto sin los 3 caracteres del extremo izquierdo:", $result)


Función StringTrimRight

Referencia de función

StringTrimRight

Corta un número de caracteres del lado derecho de una cadena de texto.

StringTrimRight( "cadena de texto", cantidad )

Parámetros

cadena de texto | Cadena de texto a revisar
cantidad | El número de caracteres a cortar.

Valor devuelto

Devuelve el string cortado por la cantidad de caracteres desde la derecha.

Observaciones

Si la cantidad está fuera-de-límite, devuelve una cadena de texto vacía.
StringTrimRight($str, $n) es funcionalmente equivalente a una cadena de StringLeft($str, StringLen($str) - $n)

Relacionados

String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringUpper

Ejemplo

$result = StringTrimRight("Soy una cadena de texto", 3)
MsgBox(0, "Cadena sin los 3 caracteres:", $result)


Función StringUpper

Referencia de función

StringUpper

Convierte una cadena de texto a minúsculas.

StringUpper ( "cadena de texto" )

Parámetros

cadena de texto La cadena de texto a convertir.

Valor devuelto

Returna la cadena de texto convertida en minúscula.

Observaciones

Ninguno.

Relacionados

StringIsLower, StringIsUpper, String, StringInStr, StringLeft, StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight

Ejemplo

$result = StringUpper("Soy una Cadena de Texto")
MsgBox(0, "La Cadena de texto convertida a minúscula queda:", $result)


Función Asc

Referencia de función

Asc

Devuelve el código ASCII de un caracter.

Asc ( "char" )

Parámetros

char el caracter del que se obtendrá el código. Si una cadena de texto es usada, el código para el primer caracter es determinado.

Valor devuelto

Devuelve el código ASCII del caracter especificado. Si un número es pasado en vez de un caracter, el resultado es -1.

Observaciones

Ver el Apéndice para una tabla completa de ASCII.
Asc("0") == 48, Asc("9") == 57, Asc("A") == 65, Asc("Z") == 90, Asc("a") == 97, Asc("z") == 122, etc.

Relacionados

Chr

Ejemplo

$code = Asc("A")
MsgBox(0, "Código ASCII para A:", $code)


Función Chr

Referencia de función

Chr

Devuelve a un caracter correspondiente a un código ASCII.

Chr ( ASCIIcode )

Parámetros

ASCIIcode Un código ASCII (ejem., 65 devuelve la letra mayúscula A).

Valor devuelto

Devuelve una cadena de texto conteniendo la representación ASCII del código determinado.

Observaciones

El parámetro está convertido a entero positivo entre 0 y 255 si no hay uno.
Chr(48) == 0, Chr(57) == 9, Chr(65) == "A", Chr(90) == "Z", Chr(97) == "a", Chr(122) = "z", etc.
Una tabla completa de ASCII está en el Apéndice.

Relacionados

Asc

Ejemplo

$texto = ""
For $i = 65 to 90
$texto = $texto & Chr($i)
Next
MsgBox(0, "Letras mayúscula del alfabeto", $texto)


Función Dec

Referencia de función

Dec

Devuelve una representación numérica de una cadena hexadecimal.

Dec ( "hex" )

Parámetros

hex La cadena de texto hexadecimal a convertir.

Valor devuelto

Al completar: Devuelve un número.
Al fallar: Devuelve 0 fija @error a 1 si una cadena de texto contiene valores inválidos o si ocurre un desborde (overflow).

Observaciones

La función sólo trabaja con números que encajan en un entero asignado de 32 bits (-2147483648 a 2147483647)

Relacionados

Hex

Ejemplo

$dec = dec("FFFF") ;Devuelve el número 65536


Función Hex

Referencia de función

Hex

Devuelve una conversión hexadecimal de un entero.

Hex ( número, longitud )

Parámetros

número | El entero a convertir.
longitud | Número de caracteres a devolver (hasta 8). Caracteres son truncados de izquierda si la longitud es muy pequeña.

Valor devuelto

Al completar: Devuelve una cadena de texto con la conversión hecha.
Especial: Devuelve una cadena de texto nula si la longitud es menor que 1.
Al fallar: Devuelve una cadena de texto nula y fija @error a 1 si la longitud es mayor que 8.

Observaciones

Hexadecimal es base-16.

Relacionados

Ninguno.

Ejemplo

$result = Hex(1033, 4) ;Devuelve "0409"


Función Int

Referencia de función

Int

Devuelve la representación en entero (todo un número) de una expresión.

Int ( expresión )

Parámetros

expresión Una expresión a convertir en un entero.

Valor devuelto

Devuelve un entero.

Observaciones

Porciones de Fracción son truncadas, de tal manera que Int(1.999999) devuelve 1
Int(0/0) devuelve -9.22337203685478e+018.

Relacionados

Number, String, Round

Ejemplo

$var = Int(10.793) ;$var es el entero 10


Función IsAdmin

Referencia de función

IsAdmin

Revisa si el usuario actual tiene privilegios de administrador.

IsAdmin ( )

Parámetros

Ninguno.

Valor devuelto

Al completar: Devuelve 1 si el usuario actual tiene privilegios de administrador.
Al fallar: Devuelve 0 si el usuario actual no tiene los privilegios de administrador.

Observaciones

Esta función siempre devuelve 1 en Windows 95/98/Me.

Relacionados

RunAsSet

Ejemplo

If IsAdmin() then MsgBox(0, "", "Privilegios de Administrador detectados!")


Función IsArray

Referencia de función

IsArray

Revisa si la variable es un tipo de arreglo.

IsArray ( variable )

Parámetros

variable La variable/expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el parámetro no es una variable arreglo.

Observaciones

Puede ser útil para validar parámetros arreglos/no-arreglos en una función-de-usuario.

Relacionados

IsFloat, IsInt, IsString

Ejemplo

$pos = WinGetPos("Untitled -")
If IsArray($pos) Then
MsgBox(0, "Altura de ventana", $pos[3])
EndIf


Función IsFloat

Referencia de función

IsFloat

Revisa si una variable o expresión es de tipo flotante (decimal).

IsFloat ( variable )

Parámetros

variable Variable o expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si la expresión es no es de tipo flotante.

Observaciones

Ver ejemplos.

Relacionados

IsArray, IsInt, IsString, StringIsFloat

Ejemplo

IsFloat(3.14159) ;devuelve 1
IsFloat(3.000) ;devuelve 0 siendo entero el 3
IsFloat(1/2 - 5) ;devuelve 1
IsFloat(1.5e3) ;devuelve 0 siendo 1.5e3 = 1500
IsFloat("12.345") ;devuelve 0 por ser una cadena de texto (string)


Función IsInt

Referencia de función

IsInt

Revisa si un variable o expresión es un tipo entero.

IsInt ( variable )

Parámetros

variable La variable/expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si expresión no es entero.

Observaciones

IsInt(7.5 - 2.5) devuelve 1 (significa verdadero).

Relacionados

IsArray, IsFloat, IsString, StringIsInt

Ejemplo

IsInt(-12345) ;devuelve 1
IsInt(3.0000) ;devuelve 1
IsInt("5432") ;devuelve 0 por ser una cadena de texto
IsInt(7.5 - 4.5) ;devuelve 1 por ser evaluado un entero 3


Función IsNumber

Referencia de función

IsNumber

Revisa si una variable es de tipo numérica.

IsNumber ( variable )

Parámetros

variable La variable/expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si expresión no es de tipo numérico.

Observaciones

Variantes pueden ser de dos tipos: Strings(Cadenas de texto) y Números. Adicionalmente, un número puede ser entero o fraccional/punto-flotante.

Relacionados

IsArray, IsFloat, IsInt, IsString

Ejemplo

IsNumber(42)


Función IsString

Referencia de función

IsString

Revisa si la variable o expresión es una cadena de texto.

IsString ( variable )

Parámetros

variable La variable/expresión a revisar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si expresión no es cadena de texto.

Observaciones

Ninguno.

Relacionados

IsArray, IsFloat, IsInt

Ejemplo

$x = IsString("foo")


Función Number

Referencia de función

Number

Devuelve la representación numérica de una expresión.

Number ( expresión )

Parámetros

expresión Una expresión a convertir en un número.

Valor devuelto

Devuelve un número.

Observaciones

Si una cadena de texto inicia con letras es valorado a cero. Una cadena de texto que inicia con digitos no-numéricos caracteres es cortado.

Relacionados

Int, String

Ejemplo

$w = Number(1+2+10) ;Devuelve 13
$x = Number("3.14") ;Devuelve 3.14
$y = Number("24/7") ;Devuelve 24
$z = Number("tmp3") ;Devuelve 0


Función String

Referencia de función

String

Devuelve una cadena de texto de una expresión.

String ( expresión )

Parámetros

expresión Una expresión a convertir en una cadena de texto.

Valor devuelto

Devuelve una cadena de texto.

Observaciones

Longitud máxima de una cadena de texto es de 2147483647 caracteres (mantenga en mente que sin líneas en un script de AutoIt puede exceder hasta 4095 caracteres.)

Relacionados

Int, Number, IsString

Ejemplo

$var = String(10)
;$var es la cadena de texto "10"


Función UBound

Referencia de función

UBound

Devuelve el tamaño de un arreglo y sus dimensiones.

UBound ( Arreglo [, dimensión] )

Parámetros

Arreglo | La variable arreglo un interrogar.
Dimensión | [opcional] Reporta el tamaño de la dimensión de un arreglo multi-dimensional. Por defecto es 1, que es la primera dimensión. Si este parámetro es 0 el número de subscripts en el arreglo es devuelto.

Valor devuelto

Al completar: Devuelve el tamaño(dimensión) del arreglo.
Al fallar: Devuelve 1 y fija @error a 1 si la dimensión es inválida o si la variable no es un arreglo!

Observaciones

Recordar que UBound es mayor que el índice del último elemento del arreglo!

Relacionados

Ninguno.

Ejemplo

Dim $myArray[10][20] ;elemento 0,0 a 9,19
$rows = UBound($myArray)
$cols = UBound($myArray, 2)
$dims = UBound($myArray, 0)

MsgBox(0, "Las dimensiones del arreglo son -" & $dims & ", " & _
$rows & " filas, " & $cols & " columnas")

;Muestra el contenido de $myArray
$output = ""
For $r = 0 a UBound($myArray,1) - 1
$output = $output & @LF
For $c = 0 a UBound($myArray,2) - 1
$output = $output & $myArray[$r][$c] & " "
Next
Next
MsgBox(4096,"Arreglo contiene", $output)


Función ControlClick

Referencia de función

ControlClick

Envía un click de mouse a un determinado control.

ControlClick ( "título", "texto", "classnameNN" [, botón] [, clicks]] )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancia del control requerido.
botón | [opcional] el botón a clickear, "left", "right" o "middle". Por defecto es el botón derecho.
clicks | [opcional] el número de veces a clickear el mouse. Por defecto es 1.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0.

Observaciones

El control primero necesita que enfoque determinado con el comando ControlFocus es posible.
Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre para indicar que control. Por ejemplo, si hay dos controles enlistados llamados "MDIClient", usted debería referirse a "MDIClient1" y "MDIClient2".

Simulando un click en un control es sólo 100% exacto cuando la ventana padre(parent) está activa - este finaliza automáticamente.

Relacionados

ControlCommand, ControlFocus, MouseClick

Ejemplo

ControlClick("Untitled -", "", "MDIClient1")


Función ControlCommand

Referencia de función

ControlCommand

Envía un comando a un control.

ControlCommand ( "título", "texto", "classnameNN", "comando", "opción" )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombrede clase (classname) e instancia del control requerido.
comando | El comando a envíar al control.
opción | Parámetro adicional requerido por algunos comandos; use "" si el parámetero no es requerido.

Valor devuelto

Depende del comando como la tabla mostrada abajo. En caso de error (tal como un comando inválido o ventana/control), @error=1.
Comando, Opción | Return Value
"IsVisible", "" | Devuelve 1 si el Control es visible, 0 de otra manera
"IsEnabled", "" | Devuelve 1 si el control está activado, o sino 0
"ShowDropDown", "" | Despliega un ComboBox
"HideDropDown", "" | Oculta un ComboBox
"AddString", 'string' | Agrega una cadena de texto al final en un ListBox o ComboBox
"DelString", occurrence | Elimina una cadena de texto de acuerdo a la ocurrencia en un ListBox o ComboBox
"FindString", 'string' | Devuelve la ocurrencia referida de la cadena de texto exacta en un ListBox o ComboBox
"SetCurrentSelection", ocurrencia | Fija una selección a una ocurrencia ref en un ListBox o ComboBox
"SelectString", 'string' | Fija una selección de acuerdo a la cadena de texto en un ListBox o ComboBox
"IsChecked", "" | Devuelve 1 si un botón está activo, de otra manera 0
"Check", "" | Activa el botón de radio o check
"UnCheck", "" | Deselecciona/desactiva un botón de radio o check
"GetCurrentLine", "" | Devuelve el número de línea donde está el cursor en un Edit
"GetCurrentCol", "" | Devuelve el número de columna donde está el cursor en un Edit
"GetCurrentSelection", "" | Devuelve el nombre del item seleccionado en un ListBox o ComboBox
"GetLineCount", "" | Devuelve la cantidad de líneas de un Edit
"GetLine", #línea | Devuelve el texto según el # de línea de un Edit
"GetSelected", "" | Devuelve el texto seleccionado de un Edit
"EditPaste", 'string' | Pega el 'string'(cadena de texto) de posición de un Edit
"Currenttab", "" | Devuelve la ficha activa mostrada en un SystabControl32
"tabRight", "" | Se mueve a la próxima ficha a la derecha de un SystabControl32
"tabLeft", "" | Se mueve a la próxima ficha a la izquierda de un SystabControl32

Observaciones

Ciertos comandos trabajan en Combo y ListBoxes no trabajan en controles "ComboLBox".
Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Cuando se está usando texto en vez de un ClassName# en los comandos de "Control", asegurate de usar el texto entero del control. Texto parcial puede fallar.

Relacionados

ControlDisable, ControlEnable, ControlFocus, ControlGetPos, ControlGettext, ControlHide, ControlLeftClick, ControlMove, ControlSettext, ControlShow, StatusbarGettext, WinMenuSelectItem, WinGetClassList

Ejemplo

ControlCommand("Untitled - Notepad", "", "Edit1", "GetLineCount", "")


Función ControlDisable

Referencia de función

ControlDisable

Desactiva un control.

ControlDisable ( "título", "texto", "classnameNN")

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancia del control requerido.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si una ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlEnable, ControlHide, ControlCommand

Ejemplo

ControlDisable("Untitled -", "", "MDIClient1")


Función ControlEnable

Referencia de función

ControlEnable

Activa un control que está desactivado.

ControlEnable ( "título", "texto", "classnameNN" )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancia del control requerido.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si una ventana/control no se encontró.

Observaciones

Usese con cuidado.
Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlDisable, ControlShow, ControlCommand

Ejemplo

ControlEnable("Untitled -", "", "MDIClient1")


Función ControlFocus

Referencia de función

ControlFocus

Fija el enfoque de entrada en un determinado control en una ventana.

ControlFocus ( "título", "texto", "classnameNN" )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si la ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlCommand, WinActivate

Ejemplo

ControlFocus("Untitled - Notepad", "", "Edit1")


Función ControlGetFocus

Referencia de función

ControlGetFocus

Devuelve el ControlRef# de un control que está enfocado en una ventana específica.

ControlGetFocus ( "título" [, "texto"] )

Parámetros

título | Título de ventana a revisar.
texto | (opcional) texto de ventana a revisar.

Valor devuelto

Al completar: Devuelve ControlRef# del control that has keyboard focus within a especificado ventana.
Al fallar: Fija @error a 1 si la ventana no se encontró.

Observaciones

Ninguno.

Relacionados

ControlFocus, ControlCommand, WinActive

Ejemplo

$a = ControlGetFocus("Untitled - Notepad")


Función ControlGetPos

Referencia de función

ControlGetPos

Captura la posición y tamaño de un control relativo un una ventana.

ControlGetPos ( "título", "texto", "classnameNN" )

Parámetros

título | El título de la ventana un accesar.
texto | El texto de la ventana un accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.

Valor devuelto

Al completar: devuelve un arreglo conteniendo la posición y tamaño del control, relativo un la ventana.
Al fallar: devuelve 1 y fija @error un 1.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir un éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlCommand, ControlMove, WinMove

Ejemplo

$pos = ControlGetPos("Untitled - Notepad", "", "Edit1")
MsgBox(0, "Ventana Stats:", "POS: " & $pos[0] & _
"," $pos[1] & " Tamaño: " & $pos[2] & "," $pos[3] )


Función ControlGettext

Referencia de función

ControlGettext

Captura el texto de un control.

ControlGettext ( "título", "texto", "classnameNN" )

Parámetros

title | El título de la ventana un accesar.
texto | El texto de la ventana un accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.

Valor devuelto

Al completar: Devuelve el texto de un control.
Al fallar: Fija @error un 1.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir un éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

WinGettext, StatusbarGettext, ControlSettext, ControlCommand

Ejemplo

$var = ControlGettext("Untitled - Notepad", "", "Edit1")


Función ControlHide

Referencia de función

ControlHide

Oculta un control.

ControlHide ( "título", "texto", "classnameNN" )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlShow, ControlCommand, WinShow

Ejemplo

ControlHide("Untitled -", "", "MDIClient1")


Función ControlMove

Referencia de función

ControlMove

Mueve un control dentro de una ventana.

ControlMove ( "título", "texto", "classnameNN", x, y [, ancho [, altura]] )

Parámetros

título | El título de la ventana a mover.
texto | El texto de la ventana a mover.
classnameNN | El nombre de clase (classname) e instancias del control requerido.
x | coordenada X a mover.
y | coordenada Y a mover.
ancho | [opcional] Nuevo ancho de la ventana.
altura | [opcional] Nueva altura de la ventana.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si la ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlCommand, WinMove

Ejemplo

ControlMove("Untitled -", "", "MDIClient1", 0, 0, 200, 200)


Función ControlSend

Referencia de función

ControlSend

Envía una cadena de texto de caracteres a un control.

ControlSend ( "título", "texto", "classnameNN", "cadena de texto" [, bandera] )

Parámetros

título | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.
cadena de texto | Cadena de caracteres a envíar a el control.
bandera | [opcional] Cambia como las "teclas" son procesadas: bandera = 0 (por defecto), texto contiene caracteres especiales como: + que es SHIFT y {LEFT} a indicate flecha izquierda. bandera = 1, teclas son enviadas en forma natural.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si la ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.
Nota, esta función no envía todos los caracteres como la función usual de Send puede (notablemente la tecla ALT) pero puede enviar a ventanas no-activas o ventanas ocultas!

Relacionados

ControlCommand, Send

Ejemplo

ControlSend("Untitled", "", "Edit1", "this es un line de texto in the notepad ventana")


Función ControlSettext

Referencia de función

ControlSettext

Fija texto de un control.

ControlSettext ( "título", "texto", "classnameNN", "new texto" )

Parámetros

title | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.
texto nuevo | El nuevo texto a ser puesto en el control.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si la ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlGettext, ControlCommand

Ejemplo

RunWait("notepad")
ControlSettext("Untitled -", "", "Edit1", "New texto Here" )


Función ControlShow

Referencia de función

ControlShow

Muestra un control que está oculto.

ControlShow ( "título", "texto", "classnameNN" )

Parámetros

title | El título de la ventana a accesar.
texto | El texto de la ventana a accesar.
classnameNN | El nombre de clase (classname) e instancias del control requerido.

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1 si la ventana/control no se encontró.

Observaciones

Cuando se está usando un nombre de control en las funciones de Control, se necesita agregar un número al final del nombre del control para especificar cuando hay más de uno. Por ejemplo, si hay dos controles enlistados como "MDIClient", se debe referir a éstos como "MDIClient1" y "MDIClient2". Use AU3_Spy.exe para obtener el número de control.

Relacionados

ControlHide, ControlEnable, ControlCommand

Ejemplo

ControlShow("Untitled -", "", "MDIClient1")


Función StatusbarGettext

Referencia de función

StatusbarGettext

Captura el texto del control de una barra de estado.

StatusbarGetText ( "título" [, "texto" [, parte]] )

Parámetros

título | El título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.
parte | [opcional] el número de la "parte" de la barra de estado a leer - por defecto es 1. 1 es la primera posición de la parte posible y usualmente el que contiene los mensajes principales como "Listo" "Cargando...", etc.

Valor devuelto

Al completar: Devuelve el texto leer.
Al fallar: Devuelve una cadena de texto y fija @error a 1 si no se leyó texto alguno.

Observaciones

Esta función intenta leerla primera posición de la parte de una barra de estado en una ventana (Control común de Microsoft: msctls_statusbar32). Algunos programas usan sus propias barras de estado o en versión especial delñ control común MS que StatusbarGetText no lee. Por ejemplo, StatusbarText no trabaja en el programa TextPad; sin embargo, la primera región de la barra de estado de TextPad puede leerse usando ControlGetText("TextPad", "", "HSStatusBar1")
StatusbarGetText puede trabajar en ventanas que están en modo minimizado u oculto.

Relacionados

ControlGetText, ControlCommand

Ejemplo

AutoItSetOption("WinTitleMatchMode", 2)
$x = StatusbarGettext("Internet Explorer")
MsgBox(0, "Internet Explorer muestra:", $x)


Función WinActivate

Referencia de función

WinActivate

Activa (se enfoca) en una ventana específica.

WinActivate ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a activar.
texto | [opcional] El texto de la ventana a activar.

Valor devuelto

Ninguno.

Observaciones

Puede usar la función WinActive para revisar si WinActivate completó.
Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activada.
WinActivate trabaja en ventanas minimizadas. Sin embargo, una ventana que está "Siempre en frente" pudiera estar encima de una ventana que se Activó.

Relacionados

WinClose, WinShow, WintitleMatchMode (opción)

Ejemplo

WinActivate("Untitled - Notepad", "")


Función WinActive

Referencia de función

WinActive

Revisa si una ventana especificada existe y si está activa.

WinActivate ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a activar.
texto | [opcional] El texto de la ventana a activar.

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si la ventana no está activa.

Observaciones

Ninguno.

Relacionados

WinExists, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive, WinTitleMatchMode (opción)

Ejemplo

If WinActive("Untitled -") Then
MsgBox(0, "", "ventana activa")
EndIf


Función WinClose

Referencia de función

WinClose

Cierra una ventana.

WinClose ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a cerrar.
texto | [opcional] El texto de la ventana a cerrar.

Valor devuelto

Ninguno.

Observaciones

Esta función envía un mensaje de cerrar ventana, dependiendo si necesita guardar la información/cambios. Para forzar una ventana a cerrar, usa la función WinKill. Si hay múltiples ventanas iguales con el mismo criterio, es cerrada la más recientemente activa..

Relacionados

WinActivate, WinExists, WinKill, WinShow, WinTitleMatchMode (opción)

Ejemplo

WinClose("Untitled - Notepad", "")


Función WinExists

Referencia de función

WinExists

Revisa si una ventana especificada existe.

WinExists ( "título" [, "texto"] )

Parámetros

titulo | El título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.

Valor devuelto

Devuelve 1 si la ventana existe, de otra manera devuelve 0.

Observaciones

WinExist devolverá 1 aún si la ventana está oculta.

Relacionados

WinActive, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive, WinTitleMatchMode (opción)

Ejemplo

If WinExists("Untitled -") Then
MsgBox(0, "", "ventana exists")
EndIf


Función WinGetClassList

Referencia de función

WinGetClassList

Captura las clases(classes) de una ventana.

WinGetClassList ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Al completar: Devuelve una cadena de texto conteniendo la clase de la ventana por ver.
Al fallar: Devuelve 1 y fija @error a 1 si no se encontró algo parecido.

Observaciones

Nombre de Clases son retorno de línea (@LF) separados. WinGetClassList trabaja en ambos modos de ventana, minimizado y oculto. Hasta 64KB de texto puede ser devuelto. Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.

Relacionados

WinGetText, ControlCommand

Ejemplo

$texto = WinGetClassList("Untitled -", "")
MsgBox(0, "texto es:", $texto)


Función WinGetClientSize

Referencia de función

WinGetClientSize

Captura el tamaño de una ventana determinada de area cliente.

WinGetClientSize ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Al completar: Devuelve a arreglo 2-elementos conteniendo la siguiente información:
$array[0] = ancho of ventana de area cliente
$array[1] = altura of ventana de area cliente
Al fallar: Devuelve 1 y fija @error a 1 si la ventana no es encontrada.

Observaciones

Si la ventana está minimizada, es devuelto el ancho y altura como ceros. Sin embargo, WinGetClientSize trabaja correctamente en (no-minimizado) ventanas ocultas. Si el título de ventana es "Program Manager", la función devolverá el tamaño area de escritorio (desktop). WinGetClientSize("") iguala la ventana activa. Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.

Relacionados

WinGetPos, WinMove

Ejemplo

$size = WinGetClientSize("")
MsgBox(0, "Tamaño de ventana cliente activa es (ancho,altura):", $size[0] & " " & $size[1])


Función WinGetHandle

Referencia de función

WinGetHandle

Captura el apuntador/indicador(handle) interno de la ventana.

WinGetHandle ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Al completar: Devuelve una cadena de texto conteniendo el valor del indicador de ventana.
Al fallar: Devuelve "" (texto vacío) y fija @error a 1 si no existe una ventana igual al criterio.

Observaciones

Esta función es para uso avanzado de opciones de WinTitleMatchMode que permite a usar nombre de clases (classnames) y apuntadores (handles) en una ventana específicamente mejor que "título" y "texto".
Una vez obtenido el apuntador se puede accesar a la ventana requirida aún si el título cambia.

Relacionados

WinTitleMatchMode (opcion)

Ejemplo

; Identifica una ventana de Notepad que contiene el texto "this one" y obtiene su apuntador

; Cambia el WinTitleMatchMode al modo que lo soporta
AutoItSetOption("WinTitleMatchMode", 4)

$handle = WinGetHandle("classname=Notepad", "this one")
If @error Then
MsgBox(4096, "Error", "No se encontró la ventana")
Else
; Envía texto directamente a la ventana
ControlSend("handle=" & $handle, "", "Edit1", "AbCdE")
EndIf


Función WinGetPos

Referencia de función

WinGetPos

Captura la posición y tamaño de una vantana determinada.

WinGetPos ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Al completar: Devuelve un arreglo de 4-elementos conteniendo la siguiente información:
$array[0] = posición X
$array[1] = posición Y
$array[2] = ancho
$array[3] = altura
Al fallar: Devuelve 1 y fija @error a 1 si la ventana no se encontró.

Observaciones

WinGetPos devuelve números negativos tal como -32000 para ventanas minimizadas, pero trabaja bien con (no-minimizadas) ventanas ocultas.
Si el título de la ventana "Program Manager" es usado, la función devuelve el tamaño del Escritorio. Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.

Relacionados

WinGetClientSize, WinMove

Ejemplo

$size = WinGetPos("")
MsgBox(0, "Ventana activa (x,y,ancho,altura):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])


Función WinGetText

Referencia de función

WinGetText

Captura el texto de una ventana.

WinGetText ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Devuelve una cadena de texto contenido en la ventana a leer.

Observaciones

Hasta 64KB del texto de la ventana puede ser retomado. WinGetText trabaja ventanas en modo minimizado, pero sólo trabaja en ventanas oculta si has fijado la opción AutoItSetOption("WinDetectHiddenText", 1)
Si hay múltiple ventanas iguales con el criterio para WinGetText, la información más recientemente activa es devuelta.
Usa WinGetText("") para obtener el texto de la ventana activa.

Relacionados

WinGetTitle, ControlGetText

Ejemplo

$texto = WinGetText("Untitled -", "")
MsgBox(0, "texto leído:", $texto)


Función WinGetTitle

Referencia de función

WinGetTitle

Captura el título completo de una ventana.

WinGetTitle ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] El texto de la ventana a leer.

Valor devuelto

Devuelve una cadena de texto conteniendo el título de ventana completa. Devuelve 0 si no hay uno título igual.

Observaciones

WinGetTitle("") Devuelve el título de la ventana activa. WinGetTitle trabaja en ventanas en modo minimizado y oculto. Si existen múltiple ventanas con el mismo criterio, se usa la ventana recientemente activada.

Relacionados

AutoItWinGetTitle, WinGettexto, WinSetTitle, WinTitleMatchMode (opción)

Ejemplo

$title = WinGetTitle("Untitled -", "")
MsgBox(0, "El título completo se leído fué:", $title)


Función WinKill

Referencia de función

WinKill

Obliga a una ventana a cerrar.

WinKill ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a cerrar.
texto | [opcional] El texto de la ventana a cerrar.

Valor devuelto

Ninguno. (Siempre devuelve 1 independientemente de finalizar con éxito.)

Observaciones

La diferencia entre esta función y WinClose es que WinKill lo hará a la fuerza a terminar la ventana si no cierra fácilmente.
Consecuentemente, un usuario puede no tener tiempo a responder a los cuadros de diálogo de Guardar la información. Aunque WinKill puede trabajar en ambos, ventanas en modo minimizado y oculto, algunas ventanas (notablemente ventanas de explorer) pueden ser terminadas sólo usando WinClose.

Relacionados

WinActivate, WinClose, WinShow, ProcessClose

Ejemplo

WinKill("Untitled - ", "")


Función WinMenuSelectItem

Referencia de función

WinMenuSelectItem

Invoca un item de menú de una ventana.

WinMenuSelectItem( "título", "texto", "item" [, "item" [, "item" [, "item" [, "item" [, "item" [, "item"]]]]]] )

Parámetros

título | El título de la ventana a leer.
texto | El texto de la ventana a leer.
item | texto del item de menú
item | (opcional) texto de Subitem de menú
item | (opcional) texto de Subitem de menú
item | (opcional) texto de Subitem de menú
item | (opcional) texto de Subitem de menú
item | (opcional) texto de Subitem de menú
item | (opcional) texto de Subitem de menú

Valor devuelto

Al completar: Ninguno.
Al fallar: Fija @error a 1.

Observaciones

Notarás que el texto del item (subrayado) del menú actualmente contiene un caracter "&" que indica lo subrayado. Así, el item de menú File pudiera ser requerir el texto "&File", y Convert sería "Con&vert" Tu puedes accesar item de menús hasta seis niveles; y la ventana puede estar inactiva, minimizada, y/o oculta.

Relacionados

ControlCommand, Send

Ejemplo

; Este seleccionará File/Open en notepad
WinMenuSelectItem("Untitled - ", "", "&File", "Page Set&up..." )


Función WinMinimizeAll

Referencia de función

WinMinimizeAll

Minimiza todas las ventanas.

WinMinimizeAll ( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Send("#m") es una posible alternativa.

Relacionados

WinMinimizeAllUndo, WinShow

Ejemplo

WinMinimizeAll()


Función WinMinimizeAllUndo

Referencia de función

WinMinimizeAllUndo

Deshace la función previa a WinMinimizeAll.

WinMinimizeAllUndo ( )

Parámetros

Ninguno.

Valor devuelto

Ninguno.

Observaciones

Send("#+m") es una posible alternativa.

Relacionados

WinMinimizeAll, WinShow

Ejemplo

WinMinimizeAllUndo()


Función WinMove

Referencia de función

WinMove

Mueve y/o reajusta una ventana.

WinMove ( "título", "texto", x, y [, ancho [, altura]] )

Parámetros

título | El título de la ventana a mover/reajustar.
texto | El texto de la ventana a mover/reajustar.
x | coordenada X a mover.
y | coordenada Y a mover.
ancho | (opcional) Ancho nuevo de la ventana.
altura | (opcional) Altura nueva de la ventana.

Valor devuelto

Ninguno.

Observaciones

WinMove no tiene efecto en ventanas minimizadas, pero WinMove trabaja en ventanas ocultas.
Si el ancho y altura son pequeños (o valores negativos), la ventana puede ir no más pequeño que 112 x 27 pixeles. Si el ancho y altura son grandes, la ventana no será más grande que [12+@DesktopWidth] x [12+@DesktopHeight] pixeles, aproximadamente.
Valores negativos son permitidos para coordenadas "x" y "y". De hecho, tú puedes mover una ventana fuera de pantalla; y si el programa de la ventana es de los que guarda la última posición, la ventana puede aparecer en la esquina (pero completamente en-pantalla) la próxima vez que abras tu programa.
Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.

Relacionados

WinActivate, WinClose, WinGetClientSize, WinGetPos, WinShow

Ejemplo

WinMove("Untitled -", "", 0, 0, 200, 200)


Función WinSetOnTop

Referencia de función

WinSetOnTop

Cambia una ventana al atributo "Siempre en frente".

WinSetOnTop ( "título", "texto", bandera )

Parámetros

título | El título de la ventana a fijar.
texto | El texto de la ventana a fijar.
bandera | Determina si la ventana se motrará la bandera "TOPMOST" ("SIEMPRE EN FRENTE"). 1=fija la opción de tener la ventana siempre en frente, 0 = remueve la bandera de "siempre en frente"

Valor devuelto

Ninguno.

Observaciones

Programas de terceros que tienen la opción de un "Siempre en frente", AutoIt no refleja en la entrada/opción de menú al cambiar en estado de TOPMOST (SIEMPRE EN FRENTE).

Relacionados

WinShow

Ejemplo

WinSetOnTop("Untitled -", "", 1)


Función WinSetTitle

Referencia de función

WinSetTitle

Cambia el título de una ventana.

WinSetTitle ( "título", "texto", "nuevotítulo" )

Parámetros

título | El título de la ventana a cambiar.
texto | El texto de la ventana to change.
nuevotítulo | El nuevo título a cambiar en la ventana.

Valor devuelto

Ninguno.

Observaciones

Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.

Relacionados

AutoItWinSetTitle, WinGetTitle, WinTitleMatchMode (opción)

Ejemplo

WinSetTitle("Untitled - ", "", "Mi nuevo Notepad")


Función WinShow

Referencia de función

WinShow

Muestra, oculta, minimiza, maximiza, o restaura una ventana.

WinShow ( "título", "texto", bandera )

Parámetros

título | El título de la ventana a mostrar.
texto | El texto de la ventana a mostrar.
bandera | Bandera del programa ejecutado: @SW_HIDE = Oculta una ventana @SW_SHOW = Muestra una ventana previamente oculta @SW_MINIMIZE = Minimiza la ventana @SW_MAXIMIZE = Maximiza la ventana @SW_RESTORE = Restaura una ventana minimizada o maximizada

Valor devuelto

Ninguno.

Observaciones

Si hay múltiples ventanas iguales con el mismo criterio, es usada la más recientemente activa.
Ventanas @SW_MINIMIZE y @SW_MAXIMIZE pueden trabajar en modo diólogo.

Relacionados

WinActivate, WinClose

Ejemplo

WinShow("Untitled -", "", @SW_HIDE)
Sleep(3000)
WinShow("Untitled -", "", @SW_SHOW)


Función WinWait

Referencia de función

WinWait

Pausa la ejecución de un script hasta que la ventana solicitada exista.

WinWait ( "título" [, "texto" [, intérvalo]] )

Parámetros

título | El título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.
intérvalo | [opcional] intérvalo en segundos

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el intérvalo ocurrió.

Observaciones

El script verifica 250 milisegundos o apróx.

Relacionados

WinActive, WinExists, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive, WinWaitDelay (opción)

Ejemplo

;Espera por la ventana "Untitled" a que exista

Run("notepad")
WinWait("Untitled")

;Espera por un máximo de 5 segundos para que "Untitled" exista
WinWait("Untitled", "", 5)


Función WinWaitActive

Referencia de función

WinWaitActive

Pausa la ejecución de un script hasta que la ventana solicitada se activa.

WinWaitActive ( "título", ["texto"], [intérvalo] )

Parámetros

título | El título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.
intérvalo | [opcional] Intérvalo en segundos

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si el intérvalo caducó.

Observaciones

AutoIt pregunta por una ventana igual cada 250 milisegundos.

Relacionados

WinActive, WinExists, WinWait, WinWaitClose, WinWaitNotActive, WinWaitDelay (Option)

Ejemplo

;Espera a la ventana "Untitled" exita y se active
WinWaitActive("Untitled")

;Espera un máximo de 5 segundos para que "Untitled" exista y se active
WinWaitActive("Untitled", "", 5)


Función WinWaitClose

Referencia de función

WinWaitClose

Pausa la ejecución del script hasta que la ventana solicitada no exista.

WinWaitClose ( "título" [, "texto" [, intérvalo]] )

Parámetros

title | The título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.
intérvalo | [opcional] intérvalo in segundos

Valor devuelto

Al completar: Devuelve 1.
Al fallar: Devuelve 0 si intérvalo ocurrió.

Observaciones

Si la ventana ya no existe cuando esta función es llamada, devolverá 0 immediatamente. La ventana es esperada cada 250 milisegundos o algo así.

Relacionados

WinActive, WinExists, WinWait, WinWaitActive, WinWaitNotActive, WinWaitDelay (Option)

Ejemplo

;Espera por the ventana "Untitled" a que no exista
WinWaitClose("Untitled")

;Espera por un máximo de 5 segundos para que "Untitled" not exista
WinWaitClose("Untitled", "", 5)


Función WinWaitNotActive

Referencia de función

WinWaitNotActive

Pausa la ejecución de el script hasta que la ventana especificada no esté activa.

WinWaitNotActive ( "título" [, "texto" [, intérvalo]] )

Parámetros

título | El título de la ventana a revisar.
texto | [opcional] El texto de la ventana a revisar.
intérvalo | [opcional] Intérvalo en segundos

Valor devuelto

Devuelve 0, si el intérvalo caducó, de otra manera devuelve 1.

Observaciones

El script verifica por una ventana igual cada 250 milisegundos apróx.

Relacionados

WinActive, WinExists, WinWait, WinWaitActive, WinWaitClose, WinWaitDelay (Opción)

Ejemplo

;Espera por la ventana "Untitled" a que no esté activa
WinWaitNotActive("Untitled")

;Espera por un máximo de 5 segundos por "Untitled" a que no esté activa
WinWaitNotActive("Untitled", "", 5)


Library Function Reference

Referencia de Librería de Funciones

Libreria de funciones son funciones de usuario pre-escritas suplidas con AutoIt. Para usar una función simplemente use #include <include.au3> al principio del script de tu archivo script.

Abajo una lista completa de la librería estándar de funciones disponibles en AutoIt. Para una descripción detallada haga "click" sobre la función. NOTA: Descripción interna de cada función está en Inglés.

Función | Descripción
#include <Color.au3>
_ColorGetRed | Obtiene el componente rojo de una color dado.
_ColorGetGreen | Obtiene el componente verde de una color dado.
_ColorGetBlue | Obtiene el componente azul de una color dado.
#include <Date.au3>
_DateDayOfWeek | Devuelve el nombre del día de semana, basado en un día especificado.
_DateDaysInMonth | Devuelve el número de días en un mes, basado en el mes y año especificado.
_DateIsLeapYear | Devuelve 1 si el año especificado es bisiesto, sino lo es devuelve 0.
_DateIsValidMonthNum | Devuelve 1 si el mes especificado es válido y devuelve 0 si no lo es.
_DateIsValidWeekdayNum | Devuelve 1 si el día de la semana especificado es válido y devuelve 0 si no lo es.
_DateIsValidYear | Devuelve 1 si el año especificado es válido y devuelve 0 si no lo es.
_DateLastMonthNum | Devuelve el número de mes anterior, basado en el mes especificado.
_DateLastMonthYear | Devuelve el mes anterior del año, basado en el mes y año especificados.
_DateLastWeekdayNum | Devuelve el número de día de semana anterior, basado en el día especificado de la semana.
_DateMonthOfYear | Devuelve el nombre de mes, basado en el mes especificado.
_DateNextMonthNum | Devuelve el número de mes próximo, basado en el mes especificado.
_DateNextMonthYear | Devuelve el próximo mes del año, basado en el mes y año especificado.
_DateNextWeekdayNum | Devuelve el número de próximo día de semana, basado en el día de la semana especificado.
_TicksToTime | Convierte el tick especificado a horas, minutos, y segundos.
_TimeIsValidHour | Devuelve 1 si la hora especificada es válida y devuelve 0 si no lo es.
_TimeIsValidMinute | Devuelve 1 si el minuto especificado es válido y devuelve 0 si no lo es.
_TimeIsValidSecond | Devuelve 1 si el segundo especificado es válido y devuelve 0 si no lo es.
_TimeToTicks | Convierte la horas especificados, minutos, y segundos a ticks.
#include <File.au3>
_DirRemoveContents | Elimina el contenido de un directorio/folder.
_FileAppend | Anexa el texto especificado a un archivo.
_FileCountLines | Devuelve el número de líneas de un archivo especificado.
_FileCreate | Crea un archivo o fija el tamaño de ese archivo a 0 bytes.
_FileReadToArray | Lee un archivo especificado a un arreglo.
_FileWriteLog | Escribe un texto a un archivo log.
#include <Math.au3>
_Max | Evalúa cual de dos números es el mayor.
_Min | Evalúa cual de dos números es el menor.
#include <Process.au3>
_RunDOS | Ejecuta un comando de DOS en ventana oculta.
#include <string.au3>
_StringRepeat | Repite una cadena de texto especificada un número de veces.
_StringReverse | Invierte el contenido especificado de una cadena de texto.


ASCII Characters

Códigos de Caracteres ASCII

Esta lista es útil para las funciones Asc y Chr. Referencia tomada de ASCII Character Set

Caracteres de control (no-imprimibles; los marcado en amarillo son los más útiles.)

Caract... | Dec | Hex | Descripción
NUL | 0 | 00 | Caracter de nulo
SOH | 1 | 01 | Inicio de encabezado (Start of heading, = console interrupt)
STX | 2 | 02 | Inicio de texto "Start of text"
ETX | 3 | 03 | Fin de texto "End of text"
EOT | 4 | 04 | Fin de transmisión, no es como ETB
ENQ | 5 | 05 | Enquiry viene con ACK;
ACK | 6 | 06 | "Acknowledge", limpia ENQ
BEL | 7 | 07 | Campana (Bell), hace un sonido... (Ejecuta el beep por defecto del Windows)
BS | 8 | 08 | Retroceso (Backspace)
HT | 9 | 09 | Tabulación Horizontal
LF | 10 | 0a | Línea de retorno
VT | 11 | 0b | Tabulación vertical
FF | 12 | 0c | Retorno de Forma
CR | 13 | 0d | Retorno de carro
SO | 14 | 0e | Caracter alterno (Shift Out)
SI | 15 | 0f | Shift In, fija el caracter por defecto
DLE | 16 | 10 | Escape de vínculo
DC1 | 17 | 11 | XON, con XOFF para pausar listas; ":okay to send".
DC2 | 18 | 12 | Control de dispositivo 2, Control de flujo de modo-bloque
DC3 | 19 | 13 | XOFF, with XON is TERM=18 flow control
DC4 | 20 | 14 | Device control 4
NAK | 21 | 15 | Negative acknowledge
SYN | 22 | 16 | Synchronous idle
ETB | 23 | 17 | Fin de transmisión de bloque, no igual a EOT
CAN | 24 | 17 | Línea de Cancelar
EM | 25 | 19 | Fin de en medio, Control-Y interrumpe
SUB | 26 | 1a | Sustituto
ESC | 27 | 1b | Escape
FS | 28 | 1c | Separator de archivo
GS | 29 | 1d | Separador de grupo
RS | 30 | 1e | Separador de grabado (Record separator)
US | 31 | 1f | Separator de unidad

Caracteres de impresión (caracteres estándars)

Char | Dec | Hex | Descripción
 | 32 | 20 | Espacio
! | 33 | 21 | Signo de Exclamación
" | 34 | 22 | Signo de comillas (&quot; en HTML)
# | 35 | 23 | Numeral
$ | 36 | 24 | Signo de dólar
% | 37 | 25 | Signo de Porcentaje
& | 38 | 26 | Ampersand
` | 39 | 27 | Comilla sencilla de cerrar (apóstrofe)
( | 40 | 28 | Abre paréntesis
) | 41 | 29 | Cierra paréntesis
* | 42 | 2a | Asterisco (signo de multiplicar)
+ | 43 | 2b | Signo de más
, | 44 | 2c | Coma
- | 45 | 2d | Raya, trazo, signo de menos
. | 46 | 2e | Punto, período
/ | 47 | 2f | Pleca inclinada (signo de dividir)
0 | 48 | 30 | Cero
1 | 49 | 31 | Uno
2 | 50 | 32 | Dos
3 | 51 | 33 | Tres
4 | 52 | 34 | Cuatro
5 | 53 | 35 | Cinco
6 | 54 | 36 | Seis
7 | 55 | 37 | Siete
8 | 56 | 38 | Ocho
9 | 57 | 39 | Nueve
: | 58 | 3a | Dos puntos
; | 59 | 3b | Punto y coma
< | 60 | 3c | Signo menor que
= | 61 | 3d | Signo de igualdad
> | 62 | 3e | Signo de mayor que
? | 63 | 3f | Signo de interrogación
@ | 64 | 40 | Signo de arroba
A | 65 | 41 | A mayúscula
B | 66 | 42 | B mayúscula
C | 67 | 43 | C mayúscula
D | 68 | 44 | D mayúscula
E | 69 | 45 | E mayúscula
F | 70 | 46 | F mayúscula
G | 71 | 47 | G mayúscula
H | 72 | 48 | H mayúscula
I | 73 | 49 | I mayúscula
J | 74 | 4a | J mayúscula
K | 75 | 4b | K mayúscula
L | 76 | 4c | L mayúscula
M | 77 | 4d | M mayúscula
N | 78 | 4e | N mayúscula
O | 79 | 4f | O mayúscula
P | 80 | 50 | P mayúscula
Q | 81 | 51 | Q mayúscula
R | 82 | 52 | R mayúscula
S | 83 | 53 | S mayúscula
T | 84 | 54 | T mayúscula
U | 85 | 55 | U mayúscula
V | 86 | 56 | V mayúscula
W | 87 | 57 | W mayúscula
X | 88 | 58 | X mayúscula
Y | 89 | 59 | Y mayúscula
Z | 90 | 5a | Z mayúscula
[ | 91 | 5b | Abre llave cuadrada
\ | 92 | 5c | Pleca invertida
] | 93 | 5d | Cierra llave cuadrada
^ | 94 | 5e | Caret (Signo de exponenciación)
_ | 95 | 5f | Guíon bajo
` | 96 | 60 | Coma sencilla abierta
a | 97 | 61 | a minúscula
b | 98 | 62 | b minúscula
c | 99 | 63 | c minúscula
d | 100 | 64 | d minúscula
e | 101 | 65 | e minúscula
f | 102 | 66 | f minúscula
g | 103 | 67 | g minúscula
h | 104 | 68 | h minúscula
i | 105 | 69 | i minúscula
j | 106 | 6a | j minúscula
k | 107 | 6b | k minúscula
l | 108 | 6c | l minúscula
m | 109 | 6d | m minúscula
n | 110 | 6e | n minúscula
o | 111 | 6f | o minúscula
p | 112 | 70 | p minúscula
q | 113 | 71 | q minúscula
r | 114 | 72 | r minúscula
s | 115 | 73 | s minúscula
t | 116 | 74 | t minúscula
u | 117 | 75 | u minúscula
v | 118 | 76 | v minúscula
w | 119 | 77 | w minúscula
x | 120 | 78 | x minúscula
y | 121 | 79 | y minúscula
z | 122 | 7a | z minúscula
{ | 123 | 7b | Llave abierta
| | 124 | 7c | Barra vertical
} | 125 | 7d | Llave de cierre
~ | 126 | 7e | Tilde (signo de aproximado)
 | 127 | 7f | Borrar, caja de numeral

Set de Caracteres extendidos (ANSI)

Caract. | Dec | Hex | Descripción
€ | 128 | 80 |
 | 129 | 81 | Nota: Este caracter no se puede mostrar en esta ayuda compilada
‚ | 130 | 82 |
ƒ | 131 | 83 |
„ | 132 | 84 |
… | 133 | 85 |
† | 134 | 86 |
‡ | 135 | 87 |
ˆ | 136 | 88 |
‰ | 137 | 89 |
Š | 138 | 8A |
‹ | 139 | 8B |
Œ | 140 | 8C |
 | 141 | 8D | Nota: Este caracter no se puede mostrar en esta ayuda compilada
Ž | 142 | 8E |
 | 143 | 8F | Nota: Este caracter no se puede mostrar en esta ayuda compilada
� | 144 | 90 | Nota: Este caracter no se puede mostrar en esta ayuda compilada
‘ | 145 | 91 |
’ | 146 | 92 |
“ | 147 | 93 |
” | 148 | 94 |
• | 149 | 95 |
– | 150 | 96 |
— | 151 | 97 |
˜ | 152 | 98 |
™ | 153 | 99 |
š | 154 | 9A |
› | 155 | 9B |
œ | 156 | 9C |
 | 157 | 9D | Nota: Este caracter no se puede mostrar en esta ayuda compilada
ž | 158 | 9E |
Ÿ | 159 | 9F |
 | 160 | A0 |
¡ | 161 | A1 |
¢ | 162 | A2 |
£ | 163 | A3 |
¤ | 164 | A4 |
¥ | 165 | A5 |
¦ | 166 | A6 |
§ | 167 | A7 |
¨ | 168 | A8 |
© | 169 | A9 |
ª | 170 | AA |
« | 171 | AB |
¬ | 172 | AC |
 | 173 | AD | Nota: Este caracter no se puede mostrar en esta ayuda compilada
® | 174 | AE |
¯ | 175 | AF |
° | 176 | B0 |
± | 177 | B1 |
² | 178 | B2 |
³ | 179 | B3 |
´ | 180 | B4 |
µ | 181 | B5 |
¶ | 182 | B6 |
· | 183 | B7 |
¸ | 184 | B8 |
¹ | 185 | B9 |
º | 186 | BA |
» | 187 | BB |
¼ | 188 | BC |
½ | 189 | BD |
¾ | 190 | BE |
¿ | 191 | BF |
À | 192 | C0 |
Á | 193 | C1 |
Â | 194 | C2 |
Ã | 195 | C3 |
Ä | 196 | C4 |
Å | 197 | C5 |
Æ | 198 | C6 |
Ç | 199 | C7 |
È | 200 | C8 |
É | 201 | C9 |
Ê | 202 | CA |
Ë | 203 | CB |
Ì | 204 | CC |
Í | 205 | CD |
Î | 206 | CE |
Ï | 207 | CF |
Ð | 208 | D0 |
Ñ | 209 | D1 |
Ò | 210 | D2 |
Ó | 211 | D3 |
Ô | 212 | D4 |
Õ | 213 | D5 |
Ö | 214 | D6 |
× | 215 | D7 |
Ø | 216 | D8 |
Ù | 217 | D9 |
Ú | 218 | DA |
Û | 219 | DB |
Ü | 220 | DC |
Ý | 221 | DD |
Þ | 222 | DE |
ß | 223 | DF |
à | 224 | E0 |
á | 225 | E1 |
â | 226 | E2 |
ã | 227 | E3 |
ä | 228 | E4 |
å | 229 | E5 |
æ | 230 | E6 |
ç | 231 | E7 |
è | 232 | E8 |
é | 233 | E9 |
ê | 234 | EA |
ë | 235 | EB |
ì | 236 | EC |
í | 237 | ED |
î | 238 | EE |
ï | 239 | EF |
ð | 240 | F0 |
ñ | 241 | F1 |
ò | 242 | F2 |
ó | 243 | F3 |
ô | 244 | F4 |
õ | 245 | F5 |
ö | 246 | F6 |
÷ | 247 | F7 |
ø | 248 | F8 |
ù | 249 | F9 |
ú | 250 | FA |
û | 251 | FB |
ü | 252 | FC |
ý | 253 | FD |
þ | 254 | FE |
ÿ | 255 | FF |


CLSID List

Lista CLSID

Para usarse con las funciones FileOpenDialog, FileSaveDialog, o FileSelectFolder

Lista tomada de Online Security > Windows Tips & Tricks

Nota: No todos los valores mostrados abajo pueden trabajar como parámeteros en las funciones de AutoIt.

Ejemplo: FileSelectFolder ("Escoja un folder.", "::{00000000-1080-F9E5-6311-4162E05A6BEE}", 1)

Folder | Valor para el parámetro de File___'s
Herramientas administrativas | "::{D20EA4E1-3957-11d2-A40B-0C5020524153}"
Mi maletín (Briefcase) | "::{85BBD92O-42A0-1O69-A2E4-08002B30309D}"
Panel de Control | "::{21EC2O2O-3AEA-1O69-A2DD-08002b30309d}"
Fuentes (Fonts) | "::{D20EA4E1-3957-11d2-A40B-0C5020524152}"
Historial | "::{FF393560-C2A7-11CF-BFF4-444553540000}"
Inbox | "::{00020D75-0000-0000-C000-000000000046}"
Microsoft Network | "::{00028B00-0000-0000-C000-000000000046}"
Mi Pc (My Computer) | "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
Mis documentos (My Documents) | "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
Red (My Network Places) | "::{208D2C60-3AEA-1069-A2D7-08002B30309D}"
Lista de comp. de red (Network Computers) | "::{1f4de370-d627-11d1-ba4f-00a0c91eedba}"
Conexiones de red (Network Connections) | "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}"
Impresoras y Faxes | "::{2227A280-3AEA-1069-A2DE-08002B30309D}"
Folder de programas | "::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}"
Papelera de reciclje (Recycle Bin) | "::{645FF040-5081-101B-9F08-00AA002F954E}"
Escáners y Cámaras | "::{E211B736-43FD-11D1-9EFB-0000F8757FCD}"
Tareas | "::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"
Folder del menú de inicio | "::{48e7caab-b918-4e58-a94d-505519c795dc}"
Archivos temporales Internet | "::{7BD29E00-76C1-11CF-9DD0-00A0C9034933}"
Folders de Web | "::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}"


Standard Windows Fonts

Fuentes estándars de Windows

Para usar con SplashTextOn (el parámetro "fontname").

Lista basada en Standard Windows fonts Aunque pudiera variar!

Fuentes recomendadas marcadas en color amarillo.

NOMBRE DE FUENTE | Win95 | WinNT | Win98 | Win2000 | WinMe | WinXP
Abadi MT Condensed Light |  |  | x |  |  |
Arial | x | x | x | x | x | x
Arial Alternative Regular |  |  |  |  | x |
Arial Alternative Symbol |  |  |  |  | x |
Arial Black |  |  | x | x | x | x
Arial Bold | x | x | x | x | x | x
Arial Bold Italic | x | x | x | x | x | x
Arial Italic | x | x | x | x | x | x
Book Antiqua |  |  | x |  |  |
Calisto MT |  |  | x |  |  |
Century Gothic |  |  | x |  |  |
Century Gothic Bold |  |  | x |  |  |
Century Gothic Bold Italic |  |  | x |  |  |
Century Gothic Italic |  |  | x |  |  |
Comic Sans MS |  |  | x | x | x |
Comic Sans MS Bold |  |  | x | x | x | x
Copperplate Gothic Bold |  |  | x |  |  |
Copperplate Gothic Light |  |  | x |  |  |
Courier | x | x | x | x | x | x
Courier New | x | x | x | x | x | x
Courier New Bold | x | x | x | x | x | x
Courier New Bold Italic | x | x | x | x | x | x
Courier New Italic | x | x | x | x | x | x
Estrangelo Edessa |  |  |  |  |  | x
Franklin Gothic Medium |  |  |  |  |  | x
Franklin Gothic Medium Italic |  |  |  |  | x |
Gautami |  |  |  |  |  | x
Georgia |  |  |  | x |  | x
Georgia Bold |  |  |  | x |  | x
Georgia Bold Italic |  |  |  | x |  | x
Georgia Italic |  |  |  | x |  | x
Georgia Italic Impact |  |  |  |  |  | x
Impact |  |  | x | x | x |
Latha |  |  |  |  |  | x
Lucida Console |  | x | x | x | x | x
Lucida Handwriting Italic |  |  | x |  |  |
Lucida Sans Italic |  |  | x |  |  |
Lucida Sans Unicode |  |  | x | x |  | x
Marlett |  |  | x |  | x |
Matisse ITC |  |  | x |  |  |
Modern | x | x | x | x |  |
Modern MS Sans Serif |  |  |  |  |  | x
MS Sans Serif | x | x | x | x | x | x
MS Serif | x | x | x | x | x |
Mv Boli |  |  |  |  |  | x
News Gothic MT |  |  | x |  |  |
News Gothic MT Bold |  |  | x |  |  |
News Gothic MT Italic |  |  | x |  |  |
OCR A Extended |  |  | x |  |  |
Palatino Linotype |  |  |  | x |  | x
Palatino Linotype Bold |  |  |  | x |  | x
Palatino Linotype Bold Italic |  |  | x |  | x |
Palatino Linotype Italic |  |  |  | x |  | x
Roman |  | x |  | x |  | x
Script |  | x |  | x |  | x
Small Fonts |  | x |  | x |  | x
Smallfonts | x |  | x |  | x |
Symbol | x | x | x | x | x | x
Tahoma |  |  | x | x | x | x
Tahoma Bold |  |  | x | x | x | x
Tempus Sans ITC |  |  | x | x |  |
Times New Roman | x | x | x | x | x | x
Times New Roman Bold | x | x | x | x | x | x
Times New Roman Bold Italic | x | x | x | x | x | x
Times New Roman Italic | x | x | x | x | x | x
Trebuchet |  |  |  |  | x |
Trebuchet Bold |  |  |  |  | x |
Trebuchet Bold Italic |  |  |  |  | x |
Trebuchet Italic |  |  |  |  | x |
Trebuchet MS |  |  |  | x |  | x
Trebuchet MS Bold |  |  |  | x |  | x
Trebuchet MS Bold Italic |  |  |  | x |  | x
Trebuchet MS Italic |  |  |  | x |  | x
Tunga |  |  |  |  |  | x
Verdana |  |  | x | x | x | x
Verdana Bold |  |  | x | x | x | x
Verdana Bold Italic |  |  | x | x | x | x
Verdana Italic |  |  | x | x | x | x
Webdings |  |  | x | x | x | x
Westminster |  |  | x |  | x | x
Wingdings | x | x |  | x |  | x
WST_Czech |  |  |  |  |  | x
WST_Engl |  |  |  |  |  | x
WST_Fren |  |  |  |  |  | x
WST_Germ |  |  |  |  |  | x
WST_Ital |  |  |  |  |  | x
WST_Span |  |  |  |  |  | x
WST_Swed |  |  |  |  |  | x


Language Codes

Códigos @OSLang

Posiblemente los valores a devolver de (cadenas de texto) @OSLang

Lista fué generada de Windows 2000 - List of Locale IDs and Language Groups

Nota: Código pudiera contener texto en minúsculas.

Código | Referenciado a
0436 | Afrikaans
041c | Albanian
0401 | Arabic_Saudi_Arabia
0801 | Arabic_Iraq
0c01 | Arabic_Egypt
1001 | Arabic_Libya
1401 | Arabic_Algeria
1801 | Arabic_Morocco
1c01 | Arabic_Tunisia
2001 | Arabic_Oman
2401 | Arabic_Yemen
2801 | Arabic_Syria
2c01 | Arabic_Jordan
3001 | Arabic_Lebanon
3401 | Arabic_Kuwait
3801 | Arabic_UAE
3c01 | Arabic_Bahrain
4001 | Arabic_Qatar
042b | Armenian
042c | Azeri_Latin
082c | Azeri_Cyrillic
042d | Basque
0423 | Belarusian
0402 | Bulgarian
0403 | Catalan
0404 | Chinese_Taiwan
0804 | Chinese_PRC
0c04 | Chinese_Hong_Kong
1004 | Chinese_Singapore
1404 | Chinese_Macau
041a | Croatian
0405 | Czech
0406 | Danish
0413 | Dutch_Standard
0813 | Dutch_Belgian
0409 | English_United_States
0809 | English_United_Kingdom
0c09 | English_Australian
1009 | English_Canadian
1409 | English_New_Zealand
1809 | English_Irish
1c09 | English_South_Africa
2009 | English_Jamaica
2409 | English_Caribbean
2809 | English_Belize
2c09 | English_Trinidad
3009 | English_Zimbabwe
3409 | English_Philippines
0425 | Estonian
0438 | Faeroese
0429 | Farsi
040b | Finnish
040c | French_Standard
080c | French_Belgian
0c0c | French_Canadian
100c | French_Swiss
140c | French_Luxembourg
180c | French_Monaco
0437 | Georgian
0407 | German_Standard
0807 | German_Swiss
0c07 | German_Austrian
1007 | German_Luxembourg
1407 | German_Liechtenstei
408 | Greek
040d | Hebrew
0439 | Hindi
040e | Hungarian
040f | Icelandic
0421 | Indonesian
0410 | Italian_Standard
0810 | Italian_Swiss
0411 | Japanese
043f | Kazakh
0457 | Konkani
0412 | Korean
0426 | Latvian
0427 | Lithuanian
042f | Macedonian
043e | Malay_Malaysia
083e | Malay_Brunei_Darussalam
044e | Marathi
0414 | Norwegian_Bokmal
0814 | Norwegian_Nynorsk
0415 | Polish
0416 | Portuguese_Brazilian
0816 | Portuguese_Standard
0418 | Romanian
0419 | Russian
044f | Sanskrit
081a | Serbian_Latin
0c1a | Serbian_Cyrillic
041b | Slovak
0424 | Slovenian
040a | Spanish_Traditional_Sort
080a | Spanish_Mexican
0c0a | Spanish_Modern_Sort
100a | Spanish_Guatemala
140a | Spanish_Costa_Rica
180a | Spanish_Panama
1c0a | Spanish_Dominican_Republic
200a | Spanish_Venezuela
240a | Spanish_Colombia
280a | Spanish_Peru
2c0a | Spanish_Argentina
300a | Spanish_Ecuador
340a | Spanish_Chile
380a | Spanish_Uruguay
3c0a | Spanish_Paraguay
400a | Spanish_Bolivia
440a | Spanish_El_Salvador
480a | Spanish_Honduras
4c0a | Spanish_Nicaragua
500a | Spanish_Puerto_Rico
0441 | Swahili
041d | Swedish
081d | Swedish_Finland
0449 | Tamil
0444 | Tatar
041e | Thai
041f | Turkish
0422 | Ukrainian
0420 | Urdu
0443 | Uzbek_Latin
0843 | Uzbek_Cyrillic
042a | Vietnamese

Ejemplo

MsgBox(0, "Lenguaje de Sistema Operativo:", _Language())

Func _Language()
Select
Case StringInStr("0413,0813", @OSLang)
Return "Holandés"

Case StringInStr("0409,0809,0c09,1009,1409,1809,1c09,2009,_
2409,2809,2c09,3009,3409", @OSLang)
Return "Inglés (English)"

Case StringInStr("040c,080c,0c0c,100c,140c,180c", @OSLang)
Return "Francés (French)"

Case StringInStr("0407,0807,0c07,1007,1407", @OSLang)
Return "Alemán (German)"

Case StringInStr("0410,0810", @OSLang)
Return "Italiano"

Case StringInStr("0414,0814", @OSLang)
Return "Noruego (Norwegian)"

Case StringInStr("0415", @OSLang)
Return "Polaco"

Case StringInStr("0416,0816", @OSLang)
Return "Portugués"

Case StringInStr("040a,080a,0c0a,100a,140a,180a,1c0a,200a,_
240a,280a,2c0a,300a,340a,380a,3c0a,400a,_
440a,480a,4c0a,500a", @OSLang)
Return "Español"

Case StringInStr("041d,081d", @OSLang)
Return "Sueco"

Case Else
Return "Otro (puede determinarse con @OSLang directamente"

EndSelect
EndFunc


Send Key list

Lista de teclas para el comando Send()

Breve referencia para comando Send. ^ Ctrl ! Alt + Shift # Win

Send es muy útil para navegar a través de las ventanas sin necesidad de un Mouse (ratón).

Por ejemplo, para navegar en "Opciones de carpeta" (Folder Options) (en el panel de control) intente lo siguiente:

Send("{TAB}") | Navega a próximo control (botón, selección, etc.)
Send("+{TAB}") | Navega al control previo.
Send("^{TAB}") | Navega a la próxima ficha (Tab) de una ventana (en una ventana con fichas, obviamente)
Send("^+{TAB}") | Navega a la ficha anterior.
Send("{SPACE}") | Puede usarse para activar/desactivar un cuadro de selección o dar clic en un botón.
Send("{+}") | Usualmente da un check a un cuadro de selección (checkbox) (si es un "real" cuadro de selección.)
Send("{-}") | Usualmente hace lo contrario que el anterior.

Usa combinaciones Alt-tecla para acceder a ítems de menú. También pruebe, abrir "Bloc de Notas" o Bloc de notas e intente lo siguiente:

Send("!f") | Envía Alt+a, tecla de acceso para el menú de Bloc de Notas. Intenta otros!
Send("{DOWN}") | Mover hacia abajo un menú.
Send("{UP}") | Mover hacia arriba un menú.
Send("{LEFT}") | Desplazar hacia la izquierda o expandir un submenú.
Send("{RIGHT}") | Desplazar hacia la derecha o colapsar un submenú.

Ver la Ayuda de Windows--presione Win+F1--para una lista completa del teclado (shortcuts) si no conoces mucho sobre la importancia de Alt+F4, PrintScreen, Ctrl+C, y otros.

Comando de Send | Resultado de presionar
{!} | !
{#} | #
{+} | +
{^} | ^
{{} | {
{}} | }
{SPACE} | BARRA ESPACIADORA
{ENtER} | TECLA ENTER o INTRO
{ALT} | ALT
{BACKSPACE} or {BS} | RETROCESO (BACKSPACE)
{DELETE} or {DEL} | DELETE
{UP} | Cursor arriba
{DOWN} | Cursor abajo
{LEFt} | Cursor izquierda
{RIGHt} | Cursor right
{HOME} | INICIO (HOME)
{END} | Fin (END)
{ESCAPE} o {ESC} | ESCAPE
{INSERT} or {INS} | INS
{PGUP} | PageUp
{PGDN} | PageDown
{F1} - {F12} | Teclas de Función
{TAB} | TAB
{PRINtSCREEN} | Tecla Print Screen (ImprPant)
{LWIN} | Tecla izq. de WIN
{RWIN} | Tecla der. de WIN
{NUMLOCK} | NUMLOCK (BLOQNUM)
{CTRLBREAK} | Ctrl+Break
{PAUSE} | PAUSA (PAUSE)
{CAPSLOCK} | CAPSLOCK
{NUMPAD0} - {NUMPAD9} | Dígitos de Numpad
{NUMPADMULT} | Multiplicación de Numpad (Asterisco)
{NUMPADADD} | Tecla de Suma
{NUMPADSUB} | Tecla de menos (resta)
{NUMPADDIV} | Tecla de divisón
{NUMPADDOT} | Punto
{NUMPADENTER} | Tecla Enter de numpad
{APPSKEY} | Teclas de Aplicaciones de WIN
{LALT} | Tecla izquierda ALT
{RALT} | Tecla derecha de ALT
{LCTRL} | Tecla izq. de CTRL
{RCTRL} | Tecla der. de CTRL
{LSHIFT} | Tecla izq. de Shift
{RSHIFT} | Tecla der. de Shift
{SLEEP} | Tecla SLEEP
{ALTDOWN} | Mantiene la tecla ALT hasta que {ALTUP} es enviada
{SHIFTDOWN} | Mantiene la tecla SHIFT hasta que {SHIFTUP} es enviada
{CTRLDOWN} | Mantiene la tecla CTRL hasta que {CTRLUP} es enviada
{LWINDOWN} | Mantiene la tecla izquierda de WIN hasta que {LWINUP} es enviada
{RWINDOWN} | Mantiene la tecla derecha de WIN hasta que {RWINUP} es enviada
{ASC nnnn} | Enviar la combinación de tecla ALt+nnnn
{BROWSER_BACK} | Sólo en Win2000/XP: Selecciona en el browser el botón "back"
{BROWSER_FORWARD} | Sólo en Win2000/XP: Selecciona en el browser el botón "forward"
{BROWSER_REFRESH} | Sólo en Win2000/XP: Selecciona en el browser el botón "refresh"
{BROWSER_StOP} | Sólo en Win2000/XP: Selecciona en el browser el botón "stop"
{BROWSER_SEARCH} | Sólo en Win2000/XP: Selecciona en el browser el botón "search"
{BROWSER_FAVORItES} | Sólo en Win2000/XP: Selecciona en el browser el botón "favorites"
{BROWSER_HOME} | Sólo en Win2000/XP: Abre el browser y va la página inicial
{VOLUME_MUTE} | Sólo en Win2000/XP: Desactiva el volúmen
{VOLUME_DOWN} | Sólo en Win2000/XP: Reduce el volúmen
{VOLUME_UP} | Sólo en Win2000/XP: Incremente el volúmen
{MEDIA_NEXT} | Sólo en Win2000/XP: Selecciona el próximo track en media player
{MEDIA_PREV} | Sólo en Win2000/XP: Selecciona el track anterior en media player
{MEDIA_STOP} | Sólo en Win2000/XP: Detiene el media player
{MEDIA_PLAY_PAUSE} | Sólo en Win2000/XP: Ejecuta/pausa el media player
{LAUNCH_MAIL} | Sólo en Win2000/XP: Abre la aplicación de correo
{LAUNCH_MEDIA} | Sólo en Win2000/XP: Abre media player
{LAUNCH_APP1} | Sólo en Win2000/XP: Abre una app1
{LAUNCH_APP2} | Sólo en Win2000/XP: Abre app2


AutoIt

Créditos

No en orden particular, pero gracias a todos! (-Jon)

Ver aquí para más detalles de contribuciones de código. (Escríbeme si has quedado fuera)

Códigos - AutoIt v3

- Jonathan Bennett <jon@hiddensoft.com>

- Larry Keys <larrydalooza@yahoo.com>

- David Nuttall <danuttall@autoit3 com>

- J-Paul Mesnage <jpaul-mesnage@ifrance.com>

- Jason Boggs <vampirevalik@hotmail.com>

- Tylo <tylo@start.no>

- Jeremy Landes <jlandes@landeserve.com>

- Cyberslug <cyberslug@autoitscript.com>

- JdeB <jvdzande@yahoo.com>

- Holger <Holger.Kotsch@GMX.de>

- Garrett "The HardlyDeservesCreditFor20LinesOfCode" R. Mueller ;) <garrett@mailsnare.net>

Archivos de Ayuda - AutoIt v3

- Más de arriba ;p

- Philip "CyberSlug" Gump <cyberslug@autoitscript.com> (y scripts de ayuda)

- JdeB <jvdzande@yahoo.com> (y scripts de ayuda)

- ScriptyKitty <scriptkitty@4dd.net>

Anexos estándar - AutoIt v3

- Para los autores que han documentado en los archivos de anexos.

- Jeremy Landes <jlandes@landeserve.com>

- Brian Keene <brian_keene@juno.com>

- Muchas gracias a Jeremy y Brian por compilarlos/modificarlos todos.

AutoIt v3 Extras y Programas terceros

- JdeB <jvdzande@yahoo.com> (Versión del editor Scite para AutoIt)

Gracias en especial

- Cada uno que continúa apoyando y usando AutoIt

- Jeremy Landes por proveer capacidad extra para descarga - http://www.landeserve.com (revisa sus planes de hosting).

- Los autores de UPX el cual es usado para comprimir los archivos ejecutables.


History

Historial

Aquí está el historial de la versiones públicas de AutoIt v3. Para una completa lista de anotaciones técnicas incluyendo las versiones beta haga click aquí.

4th Aug, 2004 - v3.0.102

Cambios mayores: Los Colores ahora por defecto usan el formato estándar RGB, en cambio del formato previo BGR. Este afecta PixelSearch() y PixelGetColor(). La opción "ColorMode" fué agregada para permitir agregar a los scripts antiguos ejecutar el modo BGR, con sólo insertarla en el principio del script para usar el viejo método, ejem.:

Opt("ColorMode", 1)

Si usas funciones de color en su código DEBES tomar notas del cambio mencionado anteriormente. Esto afecta especialmente a los BOTs y el código que interactúa con juegos.

  • Added: DriveMapAdd(),
    DriveMapDel() and
    DriveMapGet()
  • Added: @SW_SHOWDEFAULT, @SW_SHOWMAXIMIZED, @SW_SHOWMINIMIZED, @SW_SHOWMINNOACTIVE,
    @SW_SHOWNA, @SW_SHOWNOACTIVATE, @SW_SHOWNORMAL
  • Added: FileGetShortcut()
  • Added: Predefined $CmdLineRaw variable now holds the original command line in full
  • Added: @DesktopDepth
  • Added: ReDim
  • Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level, 4=best)
  • Added: Process ID (PID) support for Process...() and Run() functions
  • Added: ProcessSetPriority()
  • Added: Decompiler (Exe2Aut) added
  • Added: PixelChecksum()
  • Added: Strings starting with "0x" are converted from hex when used numerically
  • Added: MouseWheel()
  • Added: RegEnumKey() and RegEnumVal()
  • Added: FileRecycleEmpty()
  • Changed: TimerStart() renamed to
    TimerInit(). TimerStop() renamed to
    TimerDiff()
  • Changed: FileSelectFolder() flag parameter changed
  • Changed: REG_MULTI_SZ values in Reg...() functions allow double NULL values
  • Changed: BirOr(),
    BitAnd() and
    BitXOR() take up to 255 parameters
  • Changed: Icon and windowstate options added to FileCreateShortcut()
  • Changed: RunAsSet() supports extra profile handling options
  • Changed: RegWrite() now accepts just the keyname in order to create a keyname with no value
  • Changed: "Allow Decompilation" option added to Aut2Exe
  • Changed: Aut2Exe gives feedback during compilation and gives the option to abort
  • Changed: Compiled scripts run/extract much faster when using FileInstall and medium/large files
  • Changed: Max number of user function limits removed
  • Changed: Max number of variable limits removed
  • Changed: -1 does no sleep at all for Send/Mouse delays (SendKeyDelay, etc...)
  • Changed: Optional occurance parameter added to StringInStr()
  • Changed: Optional default filename added to FileOpenDialog() and FileSaveDialog()
  • Changed: Registry functions accept 4 letters keys (HKLM instead of HKEY_LOCAL_MACHINE, etc.)
  • Changed: Remote registry keys are accepted in the form "\\computername\key\subkey"
  • Changed: AutoItSetOption returns the previous setting
  • Fixed: FileGetSize() works on >2GB files and in-use files
  • Fixed: The expression: If "non-blank" And 1 - now evaluates as true
  • Fixed: ToolTip() when the mouse is near the bottom of the screen
  • Fixed: StringIsDigit()
  • Fixed: Process...() functions under NT4 unable to see certain processes
  • Fixed: Some keywords incorrectly allowed after a THEN keyword

11th Mar, 2004 - v3.0.101

  • Added: MemGetStats()
  • Fixed: Windows 95a compatibility
  • Fixed: Minor help file typos

29th Feb, 2004 - v3.0.100

  • Versión inicial (Oficial)


Compiling Scripts with Aut2Exe

It is possible to take your .au3 script and compile it into a standalone executable; this executable can be used without the need for AutoIt to be installed and without the need to have AutoIt3.exe on the machine. In addition, the compiled script is compressed and encrypted and there is the option to bind additional files (also compressed/encrypted) to the exe using the FileInstall function. Also, any #include files will also be compiled into the script so they are not required at run-time.

Aut2Exe can be used in three ways:

Method 1 - Start Menu

Only available if full install performed.

1. Open the Start Menu and browse to the AutoIt v3 group.

2. Click Script Compiler \ Convert .au3 to .exe

3. The main Aut2Exe interface should appear.

4. Use the Browse buttons to select your input (.au3) and output (.exe) files.

5. If you like you can change the icon of the resulting .exe - just browse to the icon you want (some example icons are supplied in Program Files\AutoIt3\Aut2Exe\Icons).

6. If you don't want anyone to be able to decompile your script (when a decompiler is made available) then you should enter a passphrase.

7. The only other option you might wish to change is the compression level (especially if using FileInstall to add extra files). Use the Compression menu to set this. As with all compression routines the better the compression you select the slower it will be. However, no matter what compression level you select the decompression speed (when the .exe is run) is the same.

8. Click on Convert to compile the script.

Method 2 - Right Click

Only available if full install performed.

1. In Explorer browse to the .au3 file that you wish to compile.

2. Right-click the file to access the pop-up menu.

3. The file will be silently compiled with the same filename - just with a .exe extension.

When compiling in this way, Aut2Exe uses current icon/compression settings (from the last time Aut2Exe was run manually as in method 1).

Method 3 - The Command Line

The Aut2Exe.exe program can be run from the command line as follows:

Aut2exe.exe /in <infile.au3> [/out <outfile.exe>][/icon <iconfile.ico>][/pass <passphrase>]

Long filenames should be enclosed in double-quotes like "C:\Program Files\Test\test.au3". If no "out" file is given the input filename is used with a .exe extension.

Technical Details

The compiled script and additional files added with FileInstall are compressed with my own (Jon) LZSS/Huffman compression scheme. The compression achieves a similar compression ratio to WinZip on most files and slightly better on large files.

Because a compiled script must "run" itself without a password it needs to be able to decrypt itself - i.e., the encryption is two-way. For this reason you should regard the compiled exe as being encoded rather than completely safe. For example, if I wrote a script that contained a username and password (say, for a desktop rollout) then I would be happy using something like a workstation-level user/password but I would not consider it safe for a domain/entire network password unless I was sure that the end-user would not have easy access to the .exe file.


Function FileCreateShortcut

Function Reference

FileCreateShortcut

Creates a shortcut (.lnk) to a file.

FileCreateShortcut ( "file", "lnk" [, "workdir", "args", "desc", "icon", "hotkey", icon number, state] )

Parameters

file | Full path and file name of file to create shortcut to.
lnk | Full path and file name of the shortcut.
workdir | [optional] Working directory.
args | [optional] Additional file arguments.
desc | [optional] File Description.
icon | [optional] Full Path/File name of icon to use.
hotkey | [optional] Hotkey - same as the Send() key format.
icon number | [optional] The icon instance to use (usually 0)
state | [optional] The state the shortcut is launched in. Use either @SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE or @SW_SHOWMAXIMIZED

Return Value

Success: | Returns 1.
Failure: | Returns 0 if lnk cannot be created.

Remarks

Hotkeys for windows shortcuts are of the following form: Ctrl+Alt+X, Ctrl+Shift+X, Shift+Alt+X, Ctrl+NumPadKey, or Alt+NumPadKey where X represents a letter, number, punctuation, or function key. If you specify an invalid form, Windows typically defaults to Ctrl+Alt
Note that Windows distinguishes number pad keys from regular number and punctuation keys. FileCreateShortcut allows you to create Ctrl+X and Alt+X shortcuts (which Windows normally only allows when X is a NumPadKey); however, you should avoid these assignments as they may conflict with standard application hotkeys.
Windows prohibits ESC, ENTER, TAB, SPACEBAR, PRINT SCREEN, SHIFT, or BACKSPACE from being used in hotkeys.

FileCreateShortcut does not require a valid target, workdir, icon, or hotkey in order to "successfully" create the LNK file; however, the destination of the LNK file must be valid! If the hotkey you choose is already in use, your new shortcut takes precedence. Also, if you create a shortcut with the same path\name as as a pre-existing shortcut, it gets overwritten with your new version.

Related

FileGetShortcut

Example

; Sets a shortcut with ctrl+alt+t hotkey
FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut Test.lnk",@WindowsDir,"/e,c:\", "This is an Explorer link;-)", @SystemDir & "\shell32.dll", "^!t", "15", @SW_MINIMIZE)


Function FileGetShortcut

Function Reference

FileGetShortcut

Retrieves details about a shortcut.

FileGetShortcut ( "lnk" )

Parameters

lnk Full path and file name of the shortcut.

Return Value

Success: | Returns an array that contains the shortcut information. See Remarks.
Failure: | Sets @error to 1 if the shortcut could not be accessed.

Remarks

The array returned from this function is a single dimension array containing the following elements:
$array[0] = Shortcut target path
$array[1] = Working directory
$array[2] = Arguments
$array[3] = Description
$array[4] = Icon filename
$array[5] = Icon index
$array[6] = The shortcut state (@SW_SHOWNORMAL, @SW_SHOWMINNOACTIVE, @SW_SHOWMAXIMIZED)

Related

FileCreateShortcut

Example

; Sets a shortcut with ctrl+alt+t hotkey
FileCreateShortcut(@WindowsDir & "\Explorer.exe",@DesktopDir & "\Shortcut Test.lnk",@WindowsDir,"/e,c:\", "This is an Explorer link;-)", @SystemDir & "\shell32.dll", "^!t", "15", @SW_MINIMIZE)

; Read in the path of a shortcut
$details = FileGetShortcut(@DesktopDir & "\Shortcut Test.lnk")
MsgBox(0, "Path:", $details[0])


Function FileInstall

Function Reference

FileInstall

Include and install a file with the compiled script.

FileInstall ( "source", "dest" [,flag] )

Parameters

source | The source path of the file to compile. This must be a literal string; it cannot be a variable.
dest | The destination path with trailing backslash. This can be a variable.
flag | [optional] this flag determines whether to overwrite files if they already exist: 0 = (default) do not overwrite existing files 1 = overwrite existing files

Return Value

Success: | Returns 1.
Failure: | Returns 0.

Remarks

The FileInstall function is designed to include files into a compiled AutoIt script. These included files can then be "extracted" during execution of the compiled script. Keep in mind that files such as images can greatly increase the size of a compiled script.
The source file must be a string and not a variable so that the compiler can extract the filename to include. The source cannot contain wildcards.

When this function is used from a non-compiled script, a copy operation is performed instead (to allow for easy testing pre-compilation).
Files maintain their original creation/modification timestamps when installed.

Related

#Include

Example

FileInstall("C:\test.au3", "D:\mydir\test.au3")


Keyword #include

Keyword Reference

#include

Includes a file in current script.

#include "[path\]filename"
#include <filename>

Parameters

filename The filename of the current script to include. Path is optional. This must be a string--it cannot be a variable.
If "..." is used, the filename is taken to be relative to the current script.
If <...> is used the filename is taken to be relative to include library directory (usually C:\Program Files\AutoIt3\Include). The include library contains many pre-written user-functions for you to use!

Remarks

In an AutoIt script, other scripts can be included using the #include" command. #include must be in lower-case.

For the include library syntax (#include <file>) to work AutoIt must have been installed using the supplied installer otherwise the installation directory will not be known and the current script directory (@ScriptDir\Include) will be used instead.

If you include the same file containing a user-function more than once you will get a "Duplicate function" error. When writing an include file that may be used in this way, make sure that the top line contains #include-once to prevent that file from being included more than once.

Related

#include-once, FileInstall

Example

;;; TIME.AU3 ;;;
MsgBox(0,"", "The time is " & @HOUR & ":" & @MIN & ":" & @SEC)

;;; SCRIPT.AU3 ;;;
#include "TIME.AU3"
MsgBox(0,"", "Example")
#include "TIME.AU3"
Exit

; Running script.au3 will output three message boxes:
; one with the time, one with 'Example', and another with the time.


Keyword #include-once

Keyword Reference

#include-once

Specifies that the current file may only be included once.

#include-once

Parameters

None.

Remarks

If you include the same file containing a user-function more than once, you will get a "Duplicate function" error. When writing an include file that may be used in this way, make sure that the top line contains #include-once to prevent that file from being included more than once.

Related

#include, FileInstall

Example

;;; LIBRARY.AU3 ;;;
#include-once

Func myFunc()
MsgBox(0,"", "Hello from library.au3")
EndFunc

;;; SCRIPT.AU3 ;;;
#include "Library.au3"
#include "Library.au3" ;throws an error if #include-once was not used

MsgBox(0, "Example", "This is from 'script.au3' file")
myFunc()
Exit

; Running script.au3 will output the two message boxes:
; one saying "This is from 'script.au3' file"
; and another saying "Hello from library.au3"


CREDITS
=======

AutoIt v3 is based on the original AutoIt program by Jonathan Bennett.

Programming
===========

Core Programming and framework (and style police)
-------------------------------------------------
- Jonathan Bennett <jon at hiddensoft com>

Contributions
-------------
Names are listed in NO PARTICULAR ORDER.  The script commands that were influenced/created by the contributors
are also given where possible - if you are not mentioned and think you should be then drop me a mail.

- Larry Keys <larrydalooza at yahoo com>

    AutoIt Window Spy, AU3GUI and

    ControlFocus, ControlLeftClick, @IPAddressNN, FileGetSize, FileGetTime, FileOpenDialog,
    FileSaveDialog, FileSelectFolder, DiskSpaceTotal, DiskSpaceFree, PixelSearch, PixelGetColor,
    FileCreateShortcut, WinSetOnTop, FileExists, DriveGetDrive, CDTray, ControlSetText,
    ControlGetText, ControlCommand, ControlMove, ControlEnable, ControlDisable, ControlShow,
    ControlHide, WinGetClassList, IsAdmin, SplashImageOn, SplashTestOn, SplashOff
    ProgressOn, ProgressOff, ProgressSet, DriveGetLabel, DriveGetSerial, DriveGetFileSystem,
    DriveSetLabel, DriveGetType, MouseGetCursor, FileFindFirstFile, FileFindNextFile,
    ControlGetFocus

- David Nuttall <danuttall at autoit3 com>

    General C++ advice,
    StringIsAlpha, StringIsLower, StringIsUpper, StringIsDigit, StringIsAlNum, StringIsXDigit, StringIsSpace,
    StringIsASCII, RegDelete, Asc, DirRemove, DirCreate, Random, UBound, FileRecycle, IsArray, IsInt, IsFloat,
    IsString, StringStripWS, Mod, InputBox, variabletable.cpp rewrite and binary tree prototypes, new function
    lookup design/ideas, Redim

- J-Paul Mesnage <jpaul-mesnage at ifrance com>

    v2 to v3 Converter, AU3GUI and

    Lots of bug reports, regression testing and ideas/prototypes,
    @OSServicePack, @OSBuild, @AutoItVersion, AutoItWinShow, AutoItWinWrite, SoundPlay, StringFormat
    @OSLang, Hex, AutoItWinGetText, _ Continuation, Single-line IFs, Dim/Global/Local same line initialisation,
    TrayTipDebug, better non-English keyboard support for Send functions

    Prototypes for: Error/include tracking code, Local/Global

- Jason Boggs <vampirevalik at hotmail com>

    #include <> multiple directories, TrayTip, ToolTip, MemGetStats, new function lookup design/ideas,
    PID support in process functions and Run(), ProcessSetPriority

- Tylo <tylo at start.no>

    Float lexing and double to string conversions.  Some math functions (tan, atan, etc.)
    vector_datatype.h, stack_datatype.h, variable_table.cpp rewrite (discontinued), new function lookup
    design/ideas

- Jeremy Landes <jlandes at landeserve com>

    Standard include files compilation and

    XP Visual Styles manifest files.  Some math functions (Abs, Pow, Sqrt, etc.)
    @UserName, @TempDir, @UserProfileDir, @HomeDrive, @HomePath, @HomeShare, @LogonServer,
    @LogonDomain, @LogonDNSDomain

- Philip "CyberSlug" Gump <cyberslug at autoitscript com>

    ControlCommand(GetCurrentCol)

- JdeB <jvdzande at yahoo com>

    Misc bug fixes, Scite lexer

- Holger <Holger.Kotsch at GMX de>

    GUI protoypes, FileGetShortcut, FileCreateShortcut, FileSelectFolder, @DesktopRefresh

- Garrett "The HardlyDeservesCreditFor20LinesOfCode" R. Mueller ;) <garrett at mailsnare.net>

    TimerInit, TimerDiff

External contributions and other sources used
---------------------------------------------

- Amir Szekely <kichik at netvision.net.il>

    ResourceEditor.cpp - Resource editing functions (works on 9x too)
    Thanks to Amir who coded the resource functions for the NSIS Installer and helped me
    get the code working with AutoIt.  Check out the NSIS installer at:
    http://nsis.sourceforge.net/site/index.php

- Gabriele Scibilia <http://www.geocities.com/gabriele_scibilia/>

    qmath.h - used with permission.


3.0.102 (4th August, 2004) (Beta)

- Major Change: Colors now default to the standard RGB format rather than the previous BGR format.

    This affects PixelSearch, PixelGetColor.

    The "ColorMode" option has been added to allow old scripts to run with the old BGR mode, just
    place this line at the top of your script to use the old method:

    Opt("ColorMode", 1)

- Added: DriveMapAdd(), DriveMapDel() and DriveMapGet()
- Added: @SW_SHOWDEFAULT, @SW_SHOWMAXIMIZED, @SW_SHOWMINIMIZED, @SW_SHOWMINNOACTIVE,
        @SW_SHOWNA, @SW_SHOWNOACTIVATE, @SW_SHOWNORMAL
- Added: FileGetShortcut()
- Added: Predefined $CmdLineRaw variable now holds the original command line in full
- Added: @DesktopDepth
- Added: ReDim
- Added: Command line option /ErrorStdOut
- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4  (compression level, 4=best)
- Added: Process ID (PID) support for Process...() and Run() functions
- Added: ProcessSetPriority()
- Added: Decompiler (Exe2Aut) added
- Added: PixelChecksum()
- Added: Strings starting with "0x" are converted from hex when used numerically
- Added: Multi-directory #include <> paths
- Added: MouseWheel()
- Added: FileRecycleEmpty()
- Added: RegEnumKey() and RegEnumVal()

- Changed: TimerStart() renamed to TimerInit().  TimerStop() renamed to TimerDiff()
- Changed: FileSelectFolder() flag parameter changed
- Changed: REG_MULTI_SZ values allow double NULL values.
- Changed: BirOr(), BitAnd() and BitXOR() take up to 255 parameters
- Changed: Icon and windowstate options added to FileCreateShortcut()
- Changed: RunAsSet() supports extra profile handling options
- Changed: RegWrite() now accepts just the keyname in order to create a keyname with no value
- Changed: "Allow Decompilation" option added to Aut2Exe
- Changed: Aut2Exe gives feedback during compilation and gives the option to abort
- Changed: Compiled scripts run/extract much faster when using FileInstall and medium/large files
- Changed: Max number of user function limits removed
- Changed: Max number of variable limits removed
- Changed: -1 does no sleep at all for Send/Mouse delays (SendKeyDelay, etc...)
- Changed: Optional occurance parameter added to StringInStr()
- Changed: Optional default filename added to FileOpenDialog() and FileSaveDialog()
- Changed: Registry functions accept 4 letters keys (HKLM instead of HKEY_LOCAL_MACHINE, etc.)
- Changed: Remote registry keys are accepted in the form "\\computername\key\subkey"
- Changed: AutoItSetOption returns the previous setting
- Changed: (Internal)  Built-in function lookups completely rewritten
- Changed: (Internal) String functions speeded up (concat in astring and variants)
- Changed: (Internal) ControlSearch modified to include the windowsearch

- Fixed: FileGetSize() works on >2GB files and in-use files
- Fixed: The expression: If "non-blank" And 1 - now evaluates as true
- Fixed: /c command line use in compiled scripts
- Fixed: ToolTip() when the mouse is near the bottom of the screen
- Fixed: StringIsDigit()
- Fixed: Process... functions under NT4 unable to see certain processes
- Fixed: Some keywords incorrectly allowed after a THEN keyword
- Fixed: (Internal) Hotkey registering logic

3.0.101 (11th Mar, 2004) (Release)
- Added: MemGetStats()
- Fixed: Compatibility problem under Windows 95a
- Fixed: Some minor help file typos corrected

3.0.100 (29th Feb, 2004) (Release)
- Added: WinTextMatchMode (Option)
- Fixed: ExitLoop and ContinueLoop failed during a recursive function
- Fixed: Sleep(0) (or < 0 ) no longer hangs
- Fixed: $ with no name was allowed as a variable
- Fixed: For Loop bug when used in recursion
- Fixed: FileGetLongName() return value
- Fixed: @UserProfileDir under 9x
- Fixed: IsDeclared()
- Fixed: Random()

3.0.94 (21st Feb, 2004) (Beta)

SCRIPT BREAKING CHANGES for FileReadLine and FileWriteLine:

FileWriteLine now automatically writes a DOS @CRLF pair UNLESS the last character of
the string to write is already @CR or @LF (to make it possible to write non-DOS text files)

FileReadLine will correctly read a DOS, UNIX or MAC line (@CRLF, @LF and @CR terminated respectively).

FileWrite and FileRead added to add further support.

CHANGE YOUR SCRIPTS AS FOLLOWS:

From: FileWriteLine($handle, "line" & @LF)
To: FileWriteLine($handle, "line" & @CRLF) or FileWriteLine($handle, "line")

From: FileWriteLine($handle, "line")
To: FileWrite($handle, "line")

- Added: FileWrite() and FileRead()
- Changed: FileReadLine() and FileWriteLine()
- Added: ToolTip()
- Added: Eval() and IsDeclared()
- Added: CaretCoordMode (AutoItSetOption)
- Added: WinGetCaretPos()
- Added: WinGetState()
- Added: MustDeclareVars (AutoItSetOption)
- Added: Editors page in help
- Changed: EnvSet()
- Changed: WinShow() renamed to WinSetState()  (With WinShow() as an alias)
- Fixed: Splash() and moveable flag (and -1 default flag in options)
- Fixed: Odd elseif error message showing wrong line
- Fixed: Crashes with bad function calls: MsgBox(MsgBox(MsgBox))
- Fixed: HotKey crashes when unregistering a key that was not registered

- Fixed: (Internal) WinWaitDelay, SendKeyDelay, etc type commands now more accurate (previously only accurate to 10ms (NT) or 55ms (9x))
- Fixed: (Internal) Execute() recursion limit dropped to 384 levels
- FIxed: (Internal) Calls to Util_AttachThreadInput will not attach to hung windows
- Fixed: (Internal) some RegRead/RegWrite sizing problems (Ta, Chris)

3.0.93 (12th Feb, 2004)
- Added: SendAttachMode (AutoItSetOption)
- Added: Opt() is an alias for AutoItSetOption() :)
- Added: Doc updates
- Added: WinSearchChildren (AutoItSetOption)
- Changed: Splash and Progress functions have a "moveable" option
- Changed: StringStripWS (new strip all ws mode)
- Changed: InputBox (timeout param)
- Changed: Hot keys are no longer buffered when the script is paused.
- Fixed: REG_MULTI_SZ support
- Fixed: TrayIconDebug not showing correct filename
- Fixed: ControlClick, ControlCommand("CHECK")
- Fixed: Control functions now using return values rather than @error where appropriate.
- Fixed: Error with '' quotes in Aut2Exe
- Fixed: StringFormat()
- Fixed: Lexer checks that potential user function calls are for existing functions
- Fixed: Input thread attachment in Send() ( check Send("{... down}") still works)

- Changed: (Internal) Removed the only sscanf call and replaced with own code - saves 4KB.

3.0.92 (6th Feb, 2004)

Note: Script breaking changes to ControlLeftClick(), FileFindFirstFile(), SendSetCapslockState()

- Added: Dec()
- Added: BitNOT(), BitXOR(), BitShift()
- Added: TrayIconDebug (AutoItSetOption)
- Added: Dim single-line initialization and multiple variables
- Added WinTitleMatchMode 4 (AutoItSetOption)
- Added: #comments-start and #comments-end for multiline comments
- Added: DirCopy()
- Added: DirMove()
- Added: Controls will be checked by visible text as well as classname (waves to Chris :) )
- Added: Macros: @USERPROFILEDIR, @HOMEDRIVE, @HOMEPATH, @HOMESHARE, @LOGONSERVER, @LOGONDOMAIN, @LOGONDNSDOMAIN
- Removed: SendSetCapslockState() - Use Send("{CAPSLOCK on/off}")
- Changed: FileFind works differently (handles used and multiple finds now supported)
- Changed: ControlLeftClick() renamed to ControlClick() and options added.
- Changed: Window Spy options added and ability to freeze display
- Changed: StringSplit will return each char if delimiters are ""
- Changed: WinMenuSelectItem return value
- Changed: optional variation added to PixelSearch()
- Changed: optional step value added to PixelSearch()
- Changed: FileMove() overwrite flag added
- Changed: *.* assumed if a directory is used in FileCopy/FileMove/FileDelete
- Fixed: @TempDir under certain conditions
- Fixed: Hotkeys were ignored while another hotkey function was running

- Changed: (Internal) DirRemove changed
- Changed: (Internal) Sendkeys tweaked A LOT

3.0.91 (29th Jan, 2004)
- Added: Options: MouseClickDelay, MouseClickDownDelay, MouseClickDragDelay (AutoItSetOption)
- Added: REG_BINARY type for RegRead() and RegWrite()
- Added: FileChangeDir()
- Added: ControlCommand() - added GETCURRENTSELECTION
- Added: Added some standard library includes (See Program Files\AutoIt3\Include\)
- Added: SendKeyDownDelay (AutoItSetOption) (alters the amount a time a key is held down before released)
- Added: AutoIt returns an exit code of 1 if script could not be loaded
- Added: FileSetAttrib(), FileSetTime()
- Added: In Au3_Spy pixel colour is also shown in hex
- Fixed: While loops failing when used in recursive functions of themselves... (!?)
- Fixed: Small line coninuation _ bug
- Fixed: URLDownloadToFile()
- Fixed: FileRecycle() not always working
- Fixed: FileRecycle() return value
- Fixed: Relative #include use
- Fixed: Smart boolean comparision re-added
- Fixed: FileFindFirst() not releasing memory when called multiple times
- Changed: FileGetTime outputs strings with leading 0s when required
- Changed: Default value of Local/Global/Dim is the String "" (equates to 0 when used as a number)

- Changed: (Internal) More scriptfile.cpp optimization
- Changed: (Internal) Execute() recursion levels limited to 512 to prevent stack overflows

3.0.90 (20th Jan, 2004)
- Fixed: Serious nested IF bug

- Changed: (Internal) Rollback of variabletable.cpp and stacks/vectors

3.0.89 (19th Jan, 2004)
- Added: Method for standard library functions and includes
- Added: #include < > support (must be fully installed to work)
- Added: #include-once directive (put at the top of a file to make sure it is only
       included once)
- Added: @UserName and @TempDir macros
- Fixed: Nasty fatal bug in 3.0.88

3.0.88 (18th Jan, 2004)
- Added: ElseIf
- Changed: All block structures (IF/WHILE/FOR, etc.) are now checked before execution.
- Fixed: Some single hotkeys not working
- Fixed: Better detection of illegal nesting, e.g.:
         if 1 = 1
           while 1
         endif
           wend

- Changed: (Internal) lots of error checking code removed as a nice side effect of
         initial block structure checking
- Changed: (Internal) windows string functions (lstrcmp etc) moved back to C versions
         due to massive performance penalty

3.0.87 (15th Jan, 2004)
- Changed: Aut2Exe stores files it can't compress (.zip etc) rather than expanding
- Fixed: Aut2Exe crashing if FileInstall used a file less than 4 bytes
- Fixed: Aut2Exe crashing with uncompressable files
- Fixed: RegRead not working correctly with large DWORD values
- Fixed: NOT fixed when skipped during a boolean expression

- Changed: (Internal) variable_table.cpp rewritten
- Changed: (Internal) All stacks/vectors replaced with templated code

3.0.86 (12th Jan, 2004)
- Added: Enhanced boolean comparisons
- Added: Send can hold keys down, e.g. Send("{a down}") will hold the A key down (only works usefully with games)
- Fixed: 0 ^ 0 = 1
- Fixed: on_top parameter of ProgressOn()
- Fixed: No longer hanging with blank search in StringReplace()
- Fixed: Asc() giving -1 in some cases
- Fixed: Tray icon's tip not updating when un-pausing
- Changed: Single keys of 0-9, a-z can no longer be used as hotkeys if alt,ctrl or win is NOT also used.

- Changed: (Internal) FPU assembler used for advanced math (sin,cos,pow, etc) functions due to
         exe size problems under VC7

3.0.85
- Added: HotKeySet()
- Added: Abs(), Sin(), Cos(), Tan(), ASin(), ACos(), ATan(), Sqrt(), Log(), Exp()
- Added: ^ operator
- Added: Round()
- Added: Call()
- Changed: IniWrite/IniDelete() return 0 if they fail
- Changed: No longer need to use virtual keys for FileCreateShortcut()
- Fixed: Return value for FileCopy/FileInstall()
- Fixed: Incorrect use of ExitLoop/ContinueLoop trapped

- Changed: (Internal) Send() tweaking
- Fixed: (Internal) Function calling/scope slightly bugged (Adlib, Hotkey)

3.0.84
- Added: New window WinTitleMatchMode of 3 (for exact title match)
- Added: Some more details added to helpfile
- Changed: The key # is no longer used as a delimiter but as a left Win key combination.  So
           Send("#e") now presses the left win+e keys.  I don't think anyone actually used
           it as a delimiter anyway - it was just a left over from v1 and it never made
           lines easier to read anyway
- Changed: FileReadLine() and FileWriteLine() modified so that they optionally accept a filename
           instead of a filehandle for "quick 'n' dirty" file access - I'm sure this will be
           popular :)

3.0.83
- Changed: Due to popular demand, by default functions now return 0 for error and 1 for success.
           This affects the following functions: FileWriteLine, CDTray, DriveSetLabel, DirCreate,
           DirRemove, FileCopy, FileMove, FileDelete, FileInstall, ClipPut, URLDownloadToFile,
           RunAsSet, Shutdown, RegWrite, RegDelete, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive,
           ProcessWait, ProcessWaitClose.  If you were using the return values of one of
           these functions then please check your scripts.

- Changed: ControlSend() supports {} (for most things at least...)

3.0.82
- Added: Files installed with FileInstall() now have original timestamps (created/modified)
- Added: IsNumber()
- Fixed: Number to string conversions and general float parsing

- Changed: (Internal) FileInstall() compression code updated

3.0.81
- Fixed: Yet more bugs with single line IF - regretting adding this feature already...
- Fixed: Bugs with NOT operator and the new variant code
- Fixed: Bug with clicking CANCEL on the open script window (introduced in 3.0.80)
- Fixed: StringIs... functions failing when using numbers as parameters

- Fixed: (Internal) VectorVariant modified to allow reference access to variants (instead of copying everytime)

3.0.80
- Changed: Number to String conversions tweaked
- Fixed: Massive bug fixed with arrays introduced in 3.0.76
- Fixed: Line continuation crash

- Changed: (Internal) script reading code updated for Aut2Exe and merged with AutoIt

3.0.79
- Added: Lines can be continued over many lines - use _ at the end of a line to continue it (as VBScript)
- Added: Single line IF statements possible
- Changed: Maximum line length (including total of combined lines) increased from 1023 to 4095 characters.
- Changed: "Then" keyword in IF statements no longer optional (helps with single line IFs)

e.g.
MsgBox(0, "Test", "This is some text _
    And more text _
    And even more text")

3.0.78
- Changed: Variants work differently - no longer a seperate INTEGER type
- Changed: Float() changed to Number()

    All numbers now 15digit precision (internal C double type)
    Also affects Random() you will get floating point numbers back unless you use Int()
        with the result

3.0.77
- Added: New option "TrayIconHide" (AutoItSetOption)
- Changed: "AutoIt -" prefix removed from compiled a script's tray icon
- Changed: Compiled script's file properties point to a custom web page
- Fixed: Tray icon should redraw after an explorer crash

3.0.76
- Fixed: Couple of bugs with ContinueLoop and ExitLoop
- Fixed: Statements like $test[$test[0]] now working

3.0.75
- Added: ControlGetFocus()
- Added: Local and Global keywords
- Changed: Dim (along with Local/Global) can now be used as in vbscript to declare variables
- Changed: FileOpenDialog() uses "|" as the delimiter instead of ","
- Fixed: PixelSearch()
- Fixed: SoundPlay()...maybe
- Fixed: Splash() sizing issues

3.0.74
- Added: Hex notation for integer numbers ($var = 10 or $var = 0xa)
- Added: MouseDown(), MouseUp()
- Added: TrayTip()
- Fixed: PixelCoordMode not working correctly
- Fixed: Compiled exes not producing random numbers

3.0.73
- Added: New option "RunErrorsFatal" (AutoItSetOption)
- Added: New option "ExpandEnvStrings" (AutoItSetOption)
- Changed: FileMove() moves/renames without affecting timestamps - can also be used
           for directories
- Changed: RegRead/RegWrite() now supports REG_EXPAND_SZ
- Changed: Extra options added to FileGetTime()
- Changed: Extra 250ms delay added to start and end of mouse drags
- Fixed: Odd error message fixed where a user function contained a badly formatted line

3.0.72
- Fixed: Compiler was ignoring comments near FileInstall() functions
- Fixed: Memory leak in StatusBarGetText()
- Fixed: PixelGetColor
- Added: New option "PixelCoordMode" (AutoItSetOption)

3.0.71
  Get ready for some script rewriting...*holds up banner with BETA written on it :) *

- Added: ControlSend()
- Added: Framework for AutoItSetOption() - note: this function replaces all
         functions like WinSetDelay, SendSetDelay, MouseSetMode, etc.
- Removed: MouseSetMode(), SendSetCapslockMode(), SendSetDelay(), WinSetDelay(), WinSetDetectHiddenText()
           WinSetTitleMatchMode()

3.0.70
- Fixed: SoundPlay()
- Removed: AutoItWinShow(), AutoItWinWrite(), AutoItWinGetText()
- Changed: ControlCommand() (updated with Larry's recent changes)
- Changed: RegRead() extended error codes
- Added: FileFindFirstFile(), FileFindNextFile()
- Added: AutoItWinGetTitle()
- Added: WinGetClientSize()
- Added: EnvUpdate()
- Added: SoundSetWaveVolume()
- Added: FileGetLongName(), FileGetShortName()
- Added: TimerStart(), TimerStop()

3.0.69
- Fixed: Small delay added into mouseclick functions
- Fixed: FileGetVersion()
- Fixed: WinMenuSelectItem()
- Fixed: StringSplit() buffer overrun

3.0.68
- Added: FileGetAttrib(), WinMenuSelectItem(), FileGetVersion()
- Added: Added options to ControlCommand()

- Changed: (Internal) Larry's nFlag functions split

3.0.67
- Changed: InputBox() narrowed slightly
- Fixed: AutoIt icon not refreshing if Return was used at top level of script
- Fixed: Crash with extra long lines fixed
- Fixed: @OS_VERSION weirdness fixed

- Changed: (Internal) MessagePump handled differently and recursion level of Execute() tracked

3.0.66
- Changed: StringSplit() returns full string in array if no delimiters matched (and count=1 not 0)
- Fixed: Crash related to window titles and text fixed.

3.0.65
- Added: ControlCommand() option GetCurrentLine
- Fixed: Possible bug with optional "Then" statement fixed
- (Internal) Window searching functions altered to check for hung windows

3.0.64
Fixed: IniWrite/Delete() functions were not flushing immediately under 9x.
Added: Errors now include the file name that contained the error

3.0.63
- Changed: ControlCommand() various internal changes.
- Fixed: MsgBox() character limit bug fixed
- Changed: Can now specify a custom time for AdlibEnable()

3.0.62
- Fixed: Aut2Exe icon changing code bugged
- Changed: Timing of "paused" flash and icon modified a little.

3.0.61
- Fixed: FileOpenDialog()
- Changed: (Internal)Encryption code modified - check compiling thoroughly
- Added: AutoIt icon flashes when in paused state

3.0.60
- Changed: Aut2Exe strips version info from compiled script. (Hoping to be custom versioninfo in future)
- Fixed: FileGetSize() (change made, unsure if problem fixed)
- Fixed: FileMove wasn't supported on 9x (9x has no MoveFileEx function, Dave... :) )

3.0.59
- Fixed: InputBox was not returning "" on cancel

3.0.58
- Fixed: The window text searching in AutoIt was not the same as AU3_Spy or WinGetText()
- Added: InputBox() (and very nice it is too...)
- Added: FileMove()

3.0.57
- Fixed: MsgBox under 9x was doing odd things with timeouts - tried something else.

3.0.56
- Fixed: Selecting the default icon in Aut2Exe was not saved between sessions
- Fixed: @OSLang under NT4...
- Added: SysTabControl32 tabbing

3.0.55
- Changed: Better icon support added to Aut2Exe
- Changed: (Internal) upx.exe called during the compiler to compress data -
    necessary to do it this way as you can't edit the resources of a compressed
    exe
- Changed: SoundPlay()

3.0.54
- Fixed: Compiled scripts with custom icons were failing
- Fixed: @OS_LANG under 9x

3.0.53
- Added: StringSplit()

3.0.52
- Changed: SoundPlay() option to wait added
- Added: ChangeIcon support back in Aut2Exe (32x32x16) - Slightly better than v2 in that
        a multiimage iconfile can be used - although only the 32x32x16 image is actually used.

3.0.51
- Fixed: Aut2Exe still used ' comments when including files -whoops.

3.0.50
- Changed: (Internal)A little error checking added to the lexer
- Added: @TAB, @COMSPEC
- Changed: MouseClick() parameters changed
- Added: MouseClickDrag()

3.0.49
- Fixed: Statusbar in Aut2Exe with Visual Styles
- Changed: Single line comment character is now ;
- Changed: ' and " may now be used for strings

3.0.48
- Added: StringIsFloat(), StringIsInt()
- Fixed: MsgBox() wasn't returning -1 on timeout
- Fixed: StringReplace() error if string to replace was at end of string
- Changed: StringReplace() count is now optional (assumes global)
- Added: Aut2Exe and AutoIt3 now use Visual Styles

3.0.47
- Changed: FileExists() to work with wildcards
- Changed: Extra options added to AutoItWinShow()
- Changed: RegRead returns the string "" in addition to @error if the (default) key was requested
    and not found.
- Fixed: DriveGetDrive()  (still an a: drive bug to find though)

3.0.46
- Fixed: RegDelete() return value when value does not exist
- Fixed: CDTray() open/closed problems
- Fixed: FileSelectFolder() crash due to missing initialisers

3.0.45
- Changed: Set...() functions renamed (SendSetDelay, WinSetDelay, etc.)
- Added: StatusbarGetText()

3.0.44
- Added: Break()
- Fixed: DriveStatus()
- Fixed: RegDelete()

3.0.43
- Fixed: @OSLang for 2000+
- Added: Hex(), AutoItWinGetText()
- Changed: UBound() back to how it was again (same as VBScript syntax)

3.0.42
- Tweaked: Mouse coords were 1 pixel out
- Added: MouseSetMode() to allow for screen _and_ relative coords - yay everyone's happy

3.0.41
- Fixed: Bug with invalid filehandles (again!).
- Changed: Mouse commands may now work on multiple monitors.
- Fixed: $CmdLine wasn't working correctly for compiled scripts.
- Fixed: The operator == wasn't properly comparing strings
- Fixed: INI functions, filename now doesn't need ".\file.ini" to work in the current directory
- Fixed: Bug in Run() directory would not be set if last parameter was used

3.0.40
- Added: Windows API error messages added onto errors for the Run() commands
    (directory invalid, bad logon, etc).

3.0.39
- Added: RunAsSet() (2000/XP only)
- Added: FileRecycle()

3.0.38
- Changed: WinGetText now correctly takes note of detecthiddentext setting
- Added: StringStripWS()
- Added: DriveGetLabel(), DriveGetSerial(), DriveGetFileSystem(),
        DriveSetLabel(), DriveGetType(), MouseGetCursor()

3.0.37
- Changed: Compression tweaked in Aut2Exe

- Changed: UBound($array) now returns number of dimensions
- Renamed all the IsUpper/IsAlpha, etc functions to StringIsUpper/StringIsAlpha, etc.
- Added: IsFloat(), IsArray(), IsInt(), IsString()
- Added: Mod()

3.0.36
- Fixed: Main dialog in Aut2Exe
- Added: New compression code (slower but better at higher levels)

3.0.35
- Added: FileInstall() support
- Added: SplashImageOn(), SplashTestOn(), SplashOff()
- Added: ProgressOn(), ProgressOff(), ProgressSet()
- Added: Compression level option in Aut2Exe

3.0.34
- Fixed: subscript must be > 0 in Dim statement
- Added: Compiled script reading code added
- Added: @Compiled
- Added: Aut2Exe

3.0.33
- Added: Case Else
- Added: @DesktopWidth, @DesktopHeight
- Fixed: CDTray - closed/close
- Fixed: Incorrect reference passing of global variables
- Fixed: Bad file handle causing a crash in FileWrite/Read/Close
- Fixed: Crash with badly formatted Func statements
- Parsing speeded up (doubled the speed)
- Optimized string handling in variants


Función Eval

Referencia de función

Eval

Devuelve el valor de una variable según el nombre de la misma dado como expresión.

Eval ( expresión )

Parámetros

expresión Cadena de texto respresentando el nombre de la variable a ser evaluada.

Valor devuelto

Al completar: | Devuelve el valor de la variable.
Al fallar: | Devuleve una cadena nula con @error fijado a 1.

Observaciones

Ninguno.

Relacionados

IsDeclared

Ejemplo

Dim $a_b = 12
$s = Eval("a" & "_" & "b") ; $s es fijado a 12

$s =Eval("c") ; $s = "" y @error = 1


Función IsDeclared

Referencia de función

IsDeclared

Revisa si una variable ha sido declarada.

IsDeclared ( expresión )

Parámetros

expresión Cadena de texto representando el nombre de la variable a revisar.

Valor devuelto

Al completar: | Devuelve 1 para variable Global o variables declaradas fuera de funciones.
Especial: | -1 para variables locales.
Al fallar: | Devuelve 0 cuando no se encuentre variable.

Observaciones

Ninguno.

Relacionados

Eval

Ejemplo

If Not IsDeclared ("a") then
MsgBox(0,"", "$a NO está declarada") ; $a nunca ha sido asignada
EndIf

$a=1

If IsDeclared ("a") then
MsgBox(0,"", "$a ES declarada" ) ; debido $a=1
EndIf


Función ToolTip

Referencia de función

ToolTip

Crea un 'tooltip' en alguna parte de la pantalla.

ToolTip ( "texto" [, x, y] )

Parámetros

texto | El texto del tooltip. (Una cadena vacía limpia/desactiva el tooltip )
x, y | La posición en x,y del tooltip.

Valor devuelto

Ninguno.

Observaciones

Si las coordenadas 'x' y 'y' son omitidas, el tip es puesto cerca del cursor del mouse. Si las coords causarán que estuviera fuera de pantalla, este es reposicionado a visible.
El Tooltip desaparece, hasta qque el script termina, o a veces hasta se hace un click sobre él. Tooltips de múltiples líneaas tooltips no son soportados en esta versión.

Relacionados

TrayTip

Ejemplo

; Este creará un tooltip en la parte superior izquierda de la pantalla
ToolTip("Este es un tooltip", 0, 0)
Sleep(2000) ; Tiempo a mostrar


Función WinGetCaretPos

Referencia de función

WinGetCaretPos

Devuelve las coordenadas de un caret en el primer plano de la ventana

WinGetCaretPos ( )

Parámetros

Ninguno.

Valor devuelto

Al completar: | Devuelve un arreglo de 2-elementos conteniendo la siguiente información:
 | $array[0] = coordenada X
 | $array[1] = coordenada Y
Al fallar: | Fija @error a 1.

Observaciones

WinGetCaretPos puede que no devuelva valores acertados por aplicaciones con Interfaz de Múltiples Documentos (MDI) si CaretCoordMode es usado en absoluto. Ver ejemplo para entender mejor. Note: Algunas aplicaciones reportan coordenadas estáticas independientemente de la posición del caret!

Relacionados

CaretCoordMode (Opcion)

Ejemplo

$a = WinGetCaretPos()
If Not @error Then ToolTip("Primer Método", $a[0], $a[1])
sleep(2000)

$b = _CaretPos()
If Not @error Then ToolTip("Segundo método", $b[0], $b[1])
sleep(2000)

; Método más confiable para obtener las coords en editores de texto MDI.
Func _CaretPos()
Local $x_adjust = 5
Local $y_adjust = 40

Opt("CaretCoordMode", 0) ;modo relativo
Local $c = WinGetCaretPos() ;relativo a coords caret
Local $w = WinGetPos("") ; coord's de ventana
Local $f = ControlGetFocus("","") ; "apuntador" de región de texto
Local $e = ControlGetPos("", "", $f) ; coords de región de texto

Local $t[2]
If IsArray($c) and IsArray($w) and IsArray($e) Then
$t[0] = $c[0] + $w[0] + $e[0] + $x_adjust
$t[1] = $c[1] + $w[1] + $e[1] + $y_adjust
Return $t ; coords absolutos en pantalla del cursor caret
Else
SetError(1)
EndIf
EndFunc


Función WinGetState

Referencia de función

WinGetState

Devuelve el estado de una ventana dada.

WinGetState ( "título" [, "texto"] )

Parámetros

título | El título de la ventana a leer.
texto | [opcional] The text of the window to read.

Valor devuelto

Al completar: | Devuelve un valor indicando el estado de la ventana. Valores múltiples son agregados juntos usando BitAND() para examinar la parte que se busca:
 | 1 = La ventana existe
 | 2 = La ventana es visible
 | 4 = La ventana está enfocada
 | 8 = La ventana está activa
 | 16 = La ventana está minimizada
 | 32 = La ventana está maximizada
Al fallar: | Devuelve 0 y fija @error a 1 si la ventana no es encontrada.

Observaciones

Ninguno.

Relacionados

BitAND, WinGetPos

Ejemplo

; Revisa si está minimizado
$state = WinGetState("Untitled", "")

; Operación de revisar si está en modo "minimizado"
If BitAnd($state, 16) Then
MsgBox(0, "Ejemplo", "La ventana está minimizada")
EndIf


Función WinSetState

Referencia de función

WinSetState

Muestra, oculta, minimiza, maximiza, o restaura una ventana.

WinSetState ( "título", "texto", bandera )

Parámetros

título | El título de la ventana a mostrar.
texto | El texto de la ventana a mostrar.
bandera | La bandera a "mostrar" del programa ejecutado: @SW_HIDE = Ventana oculta @SW_SHOW = Muestra una ventana previemente ocultada @SW_MINIMIZE = Minimiza una ventana @SW_MAXIMIZE = Maximiza una ventana @SW_RESTORE = Restaura la minimización o maximización de una ventana.

Valor devuelto

Ninguno.

Observaciones

WinSetState es un reemplazo para la mal nombrada función WinShow. WinShow es aceptado como un alias pero tal vez sea retirado en un futuro.

Si hay múltiples ventanas con el mismo criterio, se usa la que más recientemente estuvo activa.
@SW_MINIMIZE y @SW_MAXIMIZE también trabaja en ventanas de diálogo modal.

Relacionados

WinActivate, WinClose

Ejemplo

WinSetState("Untitled -", "", @SW_HIDE)
Sleep(3000)
WinSetState("Untitled -", "", @SW_SHOW)


Scripts Editors

Editores de Script

Los scripts de AutoIt son simples archivos de texto que pueden ser editados con notepad.exe. Existen varios editores de que pueden ser mejores para escribir scripts, gratis o shareware, y algunos de los que soportan la ventaja de el resaltado de sintáxis como palabras claves de AutoIt pueden hacer mucho más fácil hacer un script y tal vez menos errores cuando se escribe. ;)

Algunos recomendados son:

  • Scite
  • TextPad
  • Crimson Editor (gratis)
  • Source Edit (gratis)
  • UltraEdit

Para más información, puede visitar los foros de AutoIt. :)

AutoIt viene suplido con archivos de sintáxis para varios editores y pueden ser encontrados el folder de instalación "Extra" (hay también un acceso en Inicio / Programas / AutoIt v3 / Extra).


Library Function Reference: Color.au3

Description: Functions that assist with color management.

Function: _ColorGetRed( $nColor )

Description: Get the red component of a given color.
Syntax: _Color( $nColor )
Parameter(s): $nColor - The RGB color to work with (numeric).
Requirement(s): None
Return Value(s): On Success - Returns the component color in the range 0-255
On Failure - None
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None

Function: _ColorGetGreen( $nColor )

Description: Get the green component of a given color.
Syntax: _Color( $nColor )
Parameter(s): $nColor - The RGB color to work with (numeric).
Requirement(s): None
Return Value(s): On Success - Returns the component color in the range 0-255
On Failure - None
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None

Function: _ColorGetBlue( $nColor )

Description: Get the blue component of a given color.
Syntax: _Color( $nColor )
Parameter(s): $nColor - The RGB color to work with (numeric).
Requirement(s): None
Return Value(s): On Success - Returns the component color in the range 0-255
On Failure - None
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None


Library Function Reference: Date.au3

Description: Functions that assist with dates and times.

Function: _DateDayOfWeek( $iDayNum, $iFormat )

Description: Returns the name of the weekday, based on the specified day.
Syntax: _DateDayOfWeek( $iDayNum, $iFormat )
Parameter(s): $iDayNum - Day number
$iFormat - Format:
0 = Long name of the weekday
1 = Abbreviated name of the weekday
Requirement(s): None
Return Value(s): On Success - Returns weekday name
On Failure - Returns an empty string and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): English only

Function: _DateDaysInMonth( $iMonthNum, $iYear )

Description: Returns the number of days in a month, based on the
specified month and year.
Syntax: _DateDaysInMonth( $iMonthNum, $iYear )
Parameter(s): $iMonthNum - Month number
$iYear - Year
Requirement(s): None
Return Value(s): On Success - Returns number of days in the month
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateIsLeapYear( $iYear )

Description: Returns 1 if the specified year falls on a leap year and
returns 0 if it does not.
Syntax: _DateIsLeapYear( $iYear )
Parameter(s): $iYear - Year to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Year is not a leap year
Returns 1 = Year is a leap year
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateIsValidMonthNum( $iMonthNum )

Description: Returns 1 if the specified month number is valid and
returns 0 if it is not.
Syntax: _DateIsValidMonthNum( $iMonthNum )
Parameter(s): $iMonthNum - Month number to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Month number is not valid
Returns 1 = Month number is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateIsValidWeekdayNum( $iWeekdayNum )

Description: Returns 1 if the specified weekday number is valid and
returns 0 if it is not.
Syntax: _DateIsValidWeekdayNum( $iWeekdayNum )
Parameter(s): $iWeekdayNum - Weekday number to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Weekday number is not valid
Returns 1 = Weekday number is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateIsValidYear( $iYear )

Description: Returns 1 if the specified year is valid and returns 0 if it
is not.
Syntax: _DateIsValidYear( $iYear )
Parameter(s): $iYear - Year to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Year is not valid
Returns 1 = Year is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateLastMonthNum( $iMonthNum )

Description: Returns previous month number, based on the specified month.
Syntax: _DateLastMonthNum( $iMonthNum )
Parameter(s): $iMonthNum - Month number
Requirement(s): None
Return Value(s): On Success - Returns previous month number
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateLastMonthYear( $iMonthNum, $iYear )

Description: Returns previous month's year, based on the specified month
and year.
Syntax: _DateLastMonthYear( $iMonthNum, $iYear )
Parameter(s): $iMonthNum - Month number
$iYear - Year
Requirement(s): None
Return Value(s): On Success - Returns previous month's year
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateLastWeekdayNum( $iWeekdayNum )

Description: Returns previous weekday number, based on the specified day
of the week.
Syntax: _DateLastWeekdayNum( $iWeekdayNum )
Parameter(s): $iWeekdayNum - Weekday number
Requirement(s): None
Return Value(s): On Success - Returns previous weekday number
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateMonthOfYear( $iMonthNum, $iFormat )

Description: Returns the name of the month, based on the specified month.
Syntax: _DateMonthOfYear( $iMonthNum, $iFormat )
Parameter(s): $iMonthNum - Month number
$iFormat - Format:
0 = Long name of the month
1 = Abbreviated name of the month
Requirement(s): None
Return Value(s): On Success - Returns month name
On Failure - Returns an empty string and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): English only

Function: _DateNextMonthNum( $iMonthNum )

Description: Returns next month number, based on the specified month.
Syntax: _DateNextMonthNum( $iMonthNum )
Parameter(s): $iMonthNum - Month number
Requirement(s): None
Return Value(s): On Success - Returns next month number
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateNextMonthYear( $iMonthNum, $iYear )

Description: Returns next month's year, based on the specified month and
year.
Syntax: _DateNextMonthYear( $iMonthNum, $iYear )
Parameter(s): $iMonthNum - Month number
$iYear - Year
Requirement(s): None
Return Value(s): On Success - Returns next month's year
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _DateNextWeekdayNum( $iWeekdayNum )

Description: Returns next weekday number, based on the specified day of
the week.
Syntax: _DateNextWeekdayNum( $iWeekdayNum )
Parameter(s): $iWeekdayNum - Weekday number
Requirement(s): None
Return Value(s): On Success - Returns next weekday number
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _TicksToTime( $iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs )

Description: Converts the specified tick amount to hours, minutes, and
seconds.
Syntax: _TicksToTime( $iTicks, $iHours, $iMins, $iSecs )
Parameter(s): $iTicks - Tick amount
$iHours - Variable to store the hours (ByRef)
$iMins - Variable to store the minutes (ByRef)
$iSecs - Variable to store the seconds (ByRef)
Requirement(s): None
Return Value(s): On Success - Returns 1
On Failure - Returns 0 and sets @error = 1
Author(s): Marc <mrd@gmx.de>
Note(s): None

Function: _TimeIsValidHour( $iHour )

Description: Returns 1 if the specified hour is valid and returns 0 if
it is not.
Syntax: _TimeIsValidHour( $iHour )
Parameter(s): $iHour - Hour to check
Requirement(s): Must be 24-hour format in the range 0-23
Return Value(s): On Success - Returns 0 = Hour is not valid
Returns 1 = Hour is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _TimeIsValidMinute( $iMinute )

Description: Returns 1 if the specified minute is valid and returns 0 if
it is not.
Syntax: _TimeIsValidMinute( $iMinute )
Parameter(s): $iHour - Minute to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Minute is not valid
Returns 1 = Minute is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _TimeIsValidSecond( $iSecond )

Description: Returns 1 if the specified second is valid and returns 0 if
it is not.
Syntax: _TimeIsValidSecond( $iSecond )
Parameter(s): $iSecond - Second to check
Requirement(s): None
Return Value(s): On Success - Returns 0 = Second is not valid
Returns 1 = Second is valid
On Failure - Returns 0 and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _TimeToTicks( $iHours, $iMins, $iSecs )

Description: Converts the specified hours, minutes, and seconds to ticks.
Syntax: _TimeToTicks( $iHours, $iMins, $iSecs )
Parameter(s): $iHours - Hours
$iMins - Minutes
$iSecs - Seconds
Requirement(s): None
Return Value(s): On Success - Returns converted tick amount
On Failure - Returns 0 and sets @error = 1
Author(s): Marc <mrd@gmx.de>
Note(s): None


Library Function Reference: File.au3

Description: Functions that assist with files and directories.

Function: _DirRemoveContents( $sPath )

Description: Deletes the contents of a directory/folder.
Syntax: _DirRemoveContents( $sPath )
Parameter(s): $sPath - Path to the directory to delete the contents of
Requirement(s): None
Return Value(s): On Success - Returns 1 (errors deleting sub-dirs are
ignored)
On Failure - Returns 0 if there is an error removing the
directory (or if directory does not exist)
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None

Function: _FileAppend( $sFilePath, $sText )

Description: Appends the specified text to a file.
Syntax: _FileAppend( $sFilePath, $sText )
Parameter(s): $sFilePath - Path and filename to the file
$sText - Text to be appended to the file
Requirement(s): None
Return Value(s): On Success - Returns 1
On Failure - Returns 0 and sets:
@error = 1: Error opening specified file
@error = 2: File could not be written to
Author(s): Brian Keene <brian_keene@yahoo.com>
Note(s): If the text to be appended does NOT end in @CR or @LF then
a DOS linefeed (@CRLF) will be automatically added.

Function: _FileCountLines( $sFilePath )

Description: Returns the number of lines in the specified file.
Syntax: _FileCountLines( $sFilePath )
Parameter(s): $sFilePath - Path and filename of the file to be read
Requirement(s): None
Return Value(s): On Success - Returns number of lines in the file
On Failure - Returns 0 and sets @error = 1
Author(s): J. Sierra <mrjosbe@yahoo.com>
Note(s): None

Function: _FileCreate( $sFilePath )

Description: Creates or zero's out the length of the file specified.
Syntax: _FileCreate( $sFilePath )
Parameter(s): $sFilePath - Path and filename of the file to be created
Requirement(s): None
Return Value(s): On Success - Returns 1
On Failure - Returns 0 and sets:
@error = 1: Error opening specified file
@error = 2: File could not be written to
Author(s): Brian Keene <brian_keene@yahoo.com>
Note(s): None

Function: _FileReadToArray( $sFilePath, ByRef $aArray )

Description: Reads the specified file into an array.
Syntax: _FileReadToArray( $sFilePath, $aArray )
Parameter(s): $sFilePath - Path and filename of the file to be read
$aArray - The array to store the contents of the file
Requirement(s): None
Return Value(s): On Success - Returns 1
On Failure - Returns 0 and sets @error = 1
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None

Function: _FileWriteLog( $sLogPath, $sLogMsg )

Description: Writes the specified text to a log file.
Syntax: _FileWriteLog( $sLogPath, $sLogMsg )
Parameter(s): $sLogPath - Path and filename to the log file
$sLogMsg - Message to be written to the log file
Requirement(s): None
Return Value(s): On Success - Returns 1
On Failure - Returns 0 and sets:
@error = 1: Error opening specified file
@error = 2: File could not be written to
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): If the text to be appended does NOT end in @CR or @LF then
a DOS linefeed (@CRLF) will be automatically added.


Library Function Reference: Math.au3

Description: Functions that assist with mathematical calculations.

Function: _Max( $nNum1, $nNum2 )

Description: Evaluates which of the two numbers is higher.
Syntax: _Max( $nNum1, $nNum2 )
Parameter(s): $nNum1 - First number
$nNum2 - Second number
Requirement(s): None
Return Value(s): Returns the higher of the two numbers
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): Works with floats as well as integers

Function: _Min( $nNum1, $nNum2 )

Description: Evaluates which of the two numbers is lower.
Syntax: _Min( $nNum1, $nNum2 )
Parameter(s): $nNum1 - First number
$nNum2 - Second number
Requirement(s): None
Return Value(s): Returns the lower of the two numbers
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): Works with floats as well as integers


Library Function Reference: Process.au3

Description: Functions that assist with process management.

Function: _RunDOS( $sCommand )

Description: Executes a DOS command in a hidden command window.
Syntax: _RunDOS( $sCommand )
Parameter(s): $sCommand - Command to execute
Requirement(s): None
Return Value(s): On Success - Returns the exit code of the command
On Failure - Depends on RunErrorsFatal setting
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None


Library Function Reference: String.au3

Description: Functions that assist with working with string data.

Function: _StringRepeat( $sString, $iRepeatCount )

Description: Repeats a string a specified number of times.
Syntax: _StringRepeat( $sString, $iRepeatCount )
Parameter(s): $sString - String to repeat
$iRepeatCount - Number of times to repeat the string
Requirement(s): None
Return Value(s): On Success - Returns string with specified number of repeats
On Failure - Returns an empty string and sets @error = 1
Author(s): Jeremy Landes <jlandes@landeserve.com>
Note(s): None

Function: _StringReverse( $sString )

Description: Reverses the contents of the specified string.
Syntax: _StringReverse( $sString )
Parameter(s): $sString - String to reverse
Requirement(s): None
Return Value(s): On Success - Returns reversed string
On Failure - Returns an empty string and sets @error = 1
Author(s): Jonathan Bennett <jon at hiddensoft com>
Note(s): None