Descripción automática de funciones. Un empleado atado: Revisión de programas de automatización de operaciones rutinarias. ¿Para qué sirve AutoIt3?

Alexei Barabanov

Automatización de MS Windows o AutoIt como el sueño de Enikey

Parte 1

Si la fotocopiadora no funciona, llame al administrador del sistema.

Este es un dispositivo electrónico, ¿no?

Desde la llegada de las computadoras, la humanidad se ha dividido entre usuarios y “geeks de la informática”. Estaban parados en lados opuestos de la computadora electrónica, a veces confundidos en cuanto a la clase o grupo exacto al que pertenecían. Pero poco a poco todo y todos fueron encajando. El número de usuarios aumentó y el número de “informáticos” sólo se perfeccionó. Si bien había pocas computadoras y eran grandes estructuras de ingeniería, atendidas por equipos completos de "especialistas en informática", que incluían un buen número de mecánicos y electricistas, intentaron que el número de usuarios por computadora fuera lo más grande posible. La proporción general de usuarios por “informáticos” no interesaba mucho a nadie, ya que las computadoras eran el principal recurso. Pero con la llegada Computadoras personales, cuando la proporción de su número con respecto al número de usuarios pasó irrevocablemente a la categoría de números enteros, se volvió muy costoso tener un equipo para dar servicio a cada computadora. Fue a partir de este momento, desde el momento de la creación de las computadoras personales, que los desarrolladores tanto de equipos como de software Comenzaron a pensar en reducir el costo del servicio de sus productos. Fue entonces cuando los abstractos “informáticos” comenzaron a convertirse en administradores de sistemas especializados en mantenimiento. sistemas informáticos. Al mismo tiempo, especial productos de software, destinado específicamente a administradores de sistemas o enfocado principalmente a resolver problemas de mantenimiento.

Por ejemplo, los usuarios de IBM 360 que trabajaban en un entorno DOS tenían que conocer y poder utilizar de alguna manera el lenguaje de control de trabajos JCL y, si trabajaban en modo consola, entonces el lenguaje para controlar el funcionamiento de todo el sistema. Pero los mismos usuarios de IBM PS/2 que trabajan en el entorno OS/2 ya no pueden saber nada sobre la configuración del sistema y contentarse sólo con lo que les proporciona la interfaz gráfica.

Por tanto, la cuestión de distinguir a los usuarios de los administradores del sistema se ha reducido a la diferencia en las interfaces que utilizan. Usuario de un ordenador integrado teléfono móvil, controla el dispositivo mediante una interfaz gráfica y botones en el cuerpo del dispositivo, y el técnico que atiende el mismo teléfono usa comandos de consola o interfaz gráfica programas computadora especial, al que se conecta el mencionado teléfono mediante un conector de tecnología JTAG. En otras palabras, la interfaz debe corresponder a las tareas a resolver. Pero para las computadoras personales, la interfaz fue realmente fatídica. Después de todo, su diferencia más importante con respecto a las computadoras utilizadas colectivamente era la provisión exclusiva de todos los recursos a un solo usuario. Esto no podía dejar de afectar la forma en que se resolvió el problema de la interfaz. Muchas de las primeras computadoras personales se vendieron como descodificadores de TV, como el Sinclair. Es decir, sin televisor todavía no era un ordenador, pero tras conectarlo ya se podía utilizar el ordenador. Esto mostró la importancia de la interfaz.

El éxito comercial de la PC dependía en gran medida de cómo se resolviera el problema de la interfaz y de la facilidad con que esta interfaz pudiera ser utilizada por consumidores no capacitados. Si las primeras PC tuvieran la misma interfaz de texto que las computadoras centrales (para que conste, muchos llamaron a JCL "lenguaje de pájaro" por su complejidad), entonces, lo más probable es que, tan pronto como aparecieron, estos dispositivos se hubieran hundido en el olvido. . Pero esto no sucedió precisamente gracias a la accesible y atractiva interfaz gráfica. Al principio lo principal estaba en la propia pantalla, es decir, en el tubo del televisor. Probablemente, la gente se sintió atraída por el hecho de que se podía utilizar no solo para ver noticias y películas. Pero luego la compañía Xerox experimentó con éxito entrenando a mamíferos inteligentes y erguidos para que usaran un mouse con un solo botón. Este fue verdaderamente un evento revolucionario. Y aunque desde entonces el “ratón” ha logrado aumentar el número de botones, el método propuesto de interactuar con una PC presionando los botones del mouse, o “clics”, se ha establecido firmemente entre los usuarios de computadoras. Y de la misma manera, definitivamente obligó a los administradores de sistemas a adoptar una posición negativa hacia este proceso: "hacer clic con el mouse".

Interfaces

Si el administrador del sistema le informa por teléfono,

qué botones hay que presionar, lea el periódico.

En realidad, no quiero que hagas nada.

¿Por qué los “ratones” no convenían tanto a los administradores del sistema? No se trataba tanto de los manipuladores del mouse, sino de las características de la interfaz gráfica utilizada en ese momento. Dado que el principal indicador del nivel de administración del sistema se ha convertido en el número de computadoras atendidas por un empleado, los medios para garantizar la automatización de las operaciones del sistema, la instalación, configuración y administración del sistema operativo han adquirido una importancia crítica. Y la solución a este problema estuvo estrechamente relacionada con la provisión de todas estas mismas obras a través de canales de acceso remoto. Naturalmente, para plataformas con interfaz de texto, tanto el primero como el segundo fueron fáciles de resolver. Existían lenguajes de programación simples que permitían programar muy rápidamente cualquier operación de control del sistema operativo, y los medios para proporcionar acceso remoto en modo texto se proporcionaban en un nivel tecnológico de comunicación bastante débil. Así, por ejemplo, se resolvieron los problemas de administración en la familia de sistemas operativos UNIX. Pero en sistemas operativos Orientado a trabajar en un entorno gráfico, no todo fue tan sencillo. En primer lugar, la interfaz gráfica está, desde un punto de vista semántico, determinada enteramente por el programa de aplicación. Es decir, la reacción al activar el botón "Aceptar" en el menú gráfico depende de la fase del diálogo y del propósito del programa que lo atiende. En segundo lugar, permitir el trabajo remoto en un entorno gráfico requería mucho más ancho de banda de los canales de comunicación que trabajar en una interfaz de texto. Todo esto llevó al hecho de que la automatización de la configuración gráfica prácticamente no se desarrolló. Bueno, quizás por parte del propio desarrollador del sistema operativo, en este caso Microsoft, al aumentar la complejidad de los menús anidados. Y para que los administradores de sistemas trabajen en el entorno. Microsoft Windows se convirtió en un entrenamiento interminable de los músculos de la muñeca, ya que sus capacidades prácticamente no diferían de las que se proporcionaban a los usuarios comunes, solo cambiaban los títulos y el contenido de las ventanas desplegables. Esto ha desempeñado un papel positivo: recientemente un manipulador tipo ratón se ha transformado de una “camilla” primitiva con impulsores y una bola recubierta de goma en un dispositivo de alta tecnología basado en un escáner óptico (láser) y equipado con un canal de radio para comunicación con una computadora. Pero está claro que incluso si el mouse se convierte en un implante con una interfaz de computadora, esto no permitirá que un administrador del sistema dé servicio simultáneamente a una mayor cantidad de computadoras, como lo requiere la industria de TI moderna, sujeta a estrictos marcos de TCO: http://www .telecominfo.ru/?t=2012, tabla 2. Y el crecimiento en el número de computadoras de usuario con servicio simultáneo (equivalente a tiempo completo - FTE) se vio limitado por el subdesarrollo de herramientas de automatización para el trabajo de sistemas en sistemas operativos construidos sobre la base de interfaces gráficas.

Esto no quiere decir que todo estuviera limitado únicamente por problemas tecnológicos. El hecho es que en la plataforma MS Windows, que durante mucho tiempo no tuvo alternativa para las computadoras personales, se utilizan principalmente productos de software propietarios. Y la solución al problema de su masa. instalación en progreso contrario a los requisitos para cumplir con el procedimiento de registro obligatorio (legalización, activación) para cada copia del programa. Por lo general, el procedimiento para registrar una copia está rodeado de un protocolo de protección especial y no siempre de pasos técnicos, por ejemplo, es necesario aceptar una licencia, ingresar número de serie desde una caja o CD, insertar un disco clave en la bandeja de la unidad, activar a través de Internet y mucho más que se le viene a la cabeza a un desarrollador preocupado por obtener ganancias. Incluso el propio sistema operativo MS Windows en su versión en caja no pretende crear sistemas automatizados instalaciones basadas en él. ¿De qué sirve reproducir automáticamente una copia si, según el plan de marketing, todas las copias vendidas de este sistema requieren un procedimiento de registro original para cada una de ellas? Por supuesto, se dejaron lagunas jurídicas y otras reservas. Bueno, los “padres fundadores” de esta “pirámide” de software no podían simplemente reducir a toda la institución de administradores de sistemas a la posición de “gente Enikey”. Por ello, existían las llamadas versiones “corporativas” que permitían la instalación en serie, como copiar el mismo procedimiento de instalación en muchos ordenadores. Es cierto que, en represalia, se introdujeron otras restricciones allí, por ejemplo, a la instalación de actualizaciones. Pero no todos los fabricantes de software podían permitirse ni siquiera esa libertad sustituta para automatizar las operaciones rutinarias de instalación de sus propios productos. Por lo tanto, otro problema con la automatización del trabajo en un entorno GUI es que muchos productos de software no están destinados a la instalación y configuración automática debido al diseño, ya que requirieron acciones "humanas" durante el proceso de instalación.

Animación en lugar de automatización.

Si ve el mensaje "¿Está seguro?"

¡Haga clic en "Sí" lo más rápido posible!

Maldita sea si no estuvieras seguro

no harías eso, ¿verdad?

Y ahora todos estos problemas se han resuelto. Apareció una herramienta para automatizar operaciones en un entorno de ventana gráfica, que simulaba el trabajo de un operador humano, llamada AutoIt y originalmente estaba destinada a automatizar las operaciones de instalación de programas. Actualmente puedes utilizar la versión 2.64, descargada desde http://www.hiddensoft.com/AutoIt, y la versión 3.1.0, disponible en: http://www.autoitscript.com/autoit3/index.php. Estos programas se distribuyen bajo licencias abiertas. La versión 2.64, escrita por Jonathan Bennet, se puede utilizar sin restricciones en proyectos no comerciales, pero en proyectos comerciales es necesario incluir un enlace al sitio web del desarrollador junto con el producto. La versión 3.1.0, escrita por el mencionado Jonathan Bennett junto con el equipo AutoIt, ya está bajo la GNU GPL, lo que indica la madurez del enfoque y la imposibilidad de sacar este programa de la libre circulación transfiriéndolo bajo alguna licencia cerrada. Para ambas versiones, además del archivo de ayuda adjunto en inglés, también existe una versión rusa de la documentación en formato chm, preparada por Valery Ivanov.

Si consideramos este programa por separado del contexto de su aplicación prevista, entonces es solo un medio para interceptar el análisis del estado de la interfaz de la ventana y emular los mensajes necesarios, supuestamente en nombre del operador. Casi parece una animación de demostración. Pero desde el punto de vista de una máquina de lenguaje, por ejemplo, Unix bash, que interpreta un determinado script, todas las acciones parecen igual de multiplicativas. Solo que esto no es visible para nadie si no sucede en la pantalla, sino en una consola de texto. Y sobre todo porque los intérpretes de texto tienen la capacidad de ocultar y redirigir secuencias de caracteres procesados. Pero también podemos nombrar una analogía de texto completo del mundo *nix con el programa discutido aquí. Esta es una herramienta de espera muy conocida. Permite sustituir la comunicación con terminales de texto para algunos programas de aplicación y así automatizar el trabajo del operador emulando su proceso de trabajo. Suele utilizarse para automatizar el trabajo con entornos interactivos, por ejemplo con ftp. En particular, tanto expect como AutoIt incluyen una herramienta que facilita la creación de scripts mediante el registro de datos de interfaz reales capturados. Por supuesto, en AutoIt esta es todavía una herramienta manual muy inmadura que muestra las características del elemento GUI seleccionado en una ventana modal.

Desde un punto de vista tecnológico, AutoIt simplemente utiliza las capacidades inherentes a la API GUI. Se puede lograr el mismo resultado usando Visual Basic o incluso C++. Pero esa es la diferencia: usar AutoIt te permite evitar programar en lenguajes "pesados". Porque el administrador del sistema no es un programador y no necesita escribir programas, solo resolver problemas de automatización estándar que surgen en el curso de su trabajo.

¿Entonces, cómo funciona? Dicha herramienta debe poder ingresar todos los datos necesarios en el entorno que controla, analizar la respuesta y, en la medida de las capacidades del lenguaje estándar, organizar la ejecución interactiva del proceso descrito. ¡Todo! Si la interfaz es textual, lo cual es cierto para expect, entonces dicho sistema debe ingresar secuencias de cadenas, recibir y analizar cadenas de respuesta y, dependiendo del resultado y debido a las capacidades de su sintaxis, organizar algún proceso algorítmico. Si la interfaz es gráfica, entonces se agregan detalles de GUI a lo anterior. Los datos de entrada incluyen el control del comportamiento de las ventanas (detección, activación, minimización, cierre, etc.), marcadores y otros elementos de la interfaz de la ventana, movimiento del mouse y clics de botones. De la misma forma, a los datos recibidos se agregan eventos de creación, activación y otras operaciones con ventanas. Bueno, el resto está completamente determinado por el diseño del lenguaje integrado. La versión 2.* utiliza un lenguaje con una sintaxis similar a un ensamblado delimitada por comas y declaraciones de control primitivas basadas en ramas condicionales. En la tercera versión, ya es un lenguaje de programación casi completo con estructuras de control familiares, incluidas funciones, y como resultado, goto ya no se utiliza en esta versión. Ambas versiones le permiten interpretar operadores escritos en un archivo de script separado y crear una versión ejecutable basada en componentes de tiempo de ejecución. Pero la versión 3.* es una vez y media más pesada. Por lo tanto, los archivos ejecutables basados ​​en la versión 2 tienen un tamaño de 40 KB, y la versión 3.* - de 116 KB. Probablemente debido a la mayor cantidad de funciones integradas. Además de lo que ya se ha enumerado, la versión 3.* tiene tiempos de espera integrados en las declaraciones de espera, lo que le permite resolver los problemas de "colgar" aplicaciones inestables, pero en la práctica de automatizar acciones estándar puede prescindir de esto. . En otras palabras, las soluciones basadas en la versión 2.* siguen siendo relevantes para el 90% de los problemas resueltos con AutoIt, pero la versión 3.* le permite crear aplicaciones completas, si es necesario. Incluso hay ejemplos de programas de juegos en recursos de Internet dedicados a AutoIt.

Instalación de software

Si estás tomando cursos nocturnos de informática,

asegúrese de poner a prueba sus conocimientos en su

y todos los ordenadores de los vecinos.

Nos encanta trabajar hasta las 2:30 am solucionándolo.

Creo que la teoría es suficiente. A continuación, consideraremos varios ejemplos de uso real de la tecnología propuesta. El objetivo aquí no es escribir programas grandes y sofisticados. Lo principal es que se trata de guiones y programas viables y prácticos. Algunos de ellos se discutirán en el texto, otros simplemente se indican en los enlaces y están destinados a un estudio independiente. Muchos de ellos se utilizarán en el ejemplo final completo de creación de un disco para la instalación automática de MS Windows. A partir de los más simples, los programas propuestos se irán volviendo gradualmente más complejos, lo que no impide, después de leer el artículo completo, volver al principio y reelaborar los programas considerados utilizando todo el arsenal de AutoIt.

Como primer ejemplo práctico, veamos cómo automatizar la instalación del propio AutoIt. Dado que tenemos dos versiones en funcionamiento a la vez, la segunda y la tercera, resolveremos el problema de instalar automáticamente la versión 3 de AutoIt utilizando el script para la versión 2. Para hacer esto, instale AutoIt versión 2 en el sistema y créelo usando editor de texto Archivo de bloc de notas setup_autoit3.aut. La extensión "aut" es estándar para los scripts AutoIt2. Escribamos la siguiente secuencia de operadores:

Establecer modo de coincidencia de títulos, 2

Detectar texto oculto, activado

// eliminar todas las ventanas de la pantalla

GanarMinimizarTodo

// espera un segundo

Dormir, 1000

Ejecutar, autoit-v3-setup.exe

// finalización

Salida

Este programa muy breve se convertirá en la base del guión que se está desarrollando. Todas las declaraciones están comentadas y el contenido es completamente claro. Pero antes de ejecutarlo, descarguemos "AutoIt Reveal Mode", una herramienta especial para ver información oculta en estructuras asociadas con ventanas en MS Windows. Luego ejecutamos el script y esperamos a que finalice. Después de que aparezca el mensaje de finalización, ciérrelo haciendo clic en el botón "Aceptar" y expanda todas las ventanas nuevamente. Debería verse como se muestra en la figura.

Tenga en cuenta aquí que la ventana de AutiIt v2.64 muestra la lista completa de líneas de texto de la ventana activa, comenzando con su título. Son estas líneas las que el instalador “captará” en nuestro script, y dado que el botón Siguiente ya está resaltado como activo, tan pronto como el script espere a que aparezca la ventana llamada “AutoIt v3.1.0. Setup", puedes enviar Enter a esta ventana, lo que te llevará a presionar el botón activo, es decir, pasar a la siguiente pantalla del instalador. Aquí está el texto de la siguiente fase de desarrollo, más compleja:

// establece el modo para detectar texto oculto en Windows

Establecer modo de coincidencia de títulos, 2

Detectar texto oculto, activado

// eliminar todas las ventanas de la pantalla

GanarMinimizarTodo

// espera un segundo

Dormir, 1000

// inicia la instalación desde el mismo directorio

Ejecutar, autoit-v3-setup.exe

Enviar, (ENTRAR)

//muestra una ventana con un mensaje

MsgBox, 0, AutoIt, configuración realizada

// finalización

Salida

Para comprobarlo, cancele la instalación y ejecute el script nuevamente.

Después de detenernos, terminemos nuestro script nuevamente, maximicemos todas las ventanas y analicemos el resultado que se muestra en la figura.

Aquí, al igual que en el primer lanzamiento, seguiremos las zonas marcadas en rojo. La tarea es "captar" una nueva ventana y activar la acción deseada. ¡Pero la ventana tiene el mismo nombre que la anterior! Luego miramos en la ventana del interceptor para ver qué otros valores de cadena están disponibles para nosotros. Busque la línea "Acuerdo de licencia". Esta línea refleja mejor el significado específico de la ventana resultante. Y dado que aquí nuevamente la acción deseada se establece inmediatamente de forma predeterminada, luego de encontrar esta ventana, debe enviarle Enter nuevamente. Cambie el texto de la siguiente manera:

// establece el modo para detectar texto oculto en Windows

Establecer modo de coincidencia de títulos, 2

Detectar texto oculto, activado

// eliminar todas las ventanas de la pantalla

GanarMinimizarTodo

// espera un segundo

Dormir, 1000

// inicia la instalación desde el mismo directorio

Ejecutar, autoit-v3-setup.exe

// espera la ventana deseada y haz clic en Siguiente

Configuración de WinWaitActive, AutoIt v3.1.0

Enviar, (ENTRAR)

Enviar, (ENTRAR)

//muestra una ventana con un mensaje

MsgBox, 0, AutoIt, configuración realizada

// finalización

Salida

Tenga en cuenta cómo ha cambiado la sintaxis del operador WinWaitActive, ya que ahora necesita identificar la ventana no por su título, sino por el texto que contiene, la línea detectada está escrita en el tercer campo. Detengamos nuevamente la instalación y realicemos las mismas operaciones que en el lanzamiento anterior. Después de detenerse, debería obtener un resultado similar al que se muestra en la figura.

Todo aquí es similar al segundo paso del desarrollo de un script de automatización. Encontramos la línea para detectar la ventana y determinar qué botones deben presionarse. Escribimos todo en un guión. El desarrollo del cuarto tiempo se produce exactamente de la misma manera. De hecho, puede ejecutar toda la instalación en un bucle continuo y simplemente recordar las líneas que definen cada una de las ventanas del instalador y registrar los códigos clave que se ingresan en este proceso. Programar en AutoIt es sumamente fácil. El resultado es el siguiente programa:

// establece el modo para detectar texto oculto en Windows

Establecer modo de coincidencia de títulos, 2

Detectar texto oculto, activado

// eliminar todas las ventanas de la pantalla

GanarMinimizarTodo

// espera un segundo

Dormir, 1000

// inicia la instalación desde el mismo directorio

Ejecutar, autoit-v3-setup.exe

// espera la ventana deseada y haz clic en Siguiente

Configuración de WinWaitActive, AutoIt v3.1.0

Enviar, (ENTRAR)

// de manera similar, espere el acuerdo de licencia

WinWaitActive, Acuerdo de licencia

Enviar, (ENTRAR)

WinWaitActive, elija la ubicación de instalación

Enviar, (ENTRAR)

// instalación completa

WinWaitActive, haga clic en Finalizar para cerrar

Enviar, (ENTRAR)

//muestra una ventana con un mensaje

MsgBox, 0, AutoIt, configuración realizada

// finalización

Salida

Este programa instala AutoIt v3 en modo automático. Se puede convertir en código ejecutable en lugar de código interpretado. Pero propongo ejecutarlo por completo y luego pasar a trabajar en AutoIt v3, que ya estará instalado. En primer lugar, utilizaremos la utilidad para convertir pruebas de la versión 2 a la versión 3 “v2 to v3 Converter”. Este enfoque le permite obtener inmediatamente un programa sintácticamente correcto. Aquí está el resultado:

// V2.64 a V3.0.100 (Versión 1.0.6)

// Convertido con AutoItV2toV3

// (C) Copyright 2004 J-Paul Mensaje.

// establece el modo para detectar texto oculto en Windows

AutoItSetOption("WinTitleMatchMode", 2)

AutoItSetOption("WinDetectHiddenText", 1)

// eliminar todas las ventanas de la pantalla

WinMinimizeAll()

// espera un segundo

Dormir (1000)

// inicia la instalación desde el mismo directorio

Ejecutar ("autoit-v3-setup.exe")

// espera la ventana deseada y haz clic en Siguiente

WinWaitActive ("Configuración de AutoIt v3.1.0")

Enviar("(ENTRAR)")

// de manera similar, espere el acuerdo de licencia

WinWaitActive("", "Acuerdo de licencia")

Enviar("(ENTRAR)")

// ventana con selección de ubicación de instalación

WinWaitActive("", "Elegir ubicación de instalación")

Enviar("(ENTRAR)")

// instalación completa

WinWaitActive("", "Haga clic en Finalizar para cerrar")

Enviar("(ENTRAR)")

//muestra una ventana con un mensaje

$__msgbox = MsgBox (0, "AutoIt", "Configuración realizada")

// finalización

Salida

Como se desprende del texto, la nueva sintaxis no supone cambios significativos. Después de la conversión, el script se colocó en el archivo setup_autoit3.au3, cuya extensión tiene el valor estándar para la versión 3. Pero el programa hace todo igual. Si lo convierte en código ejecutable usando el compilador disponible en la versión 3, luego de eliminar AutiIt v3 del sistema, puede instalarlo nuevamente usando nuevo programa. Esta será una verificación de desempeño.

Pero al igual que no todo el trabajo administrador de sistema se reduce únicamente a la instalación de software de aplicación, y las capacidades de AutoIt no se limitan a dar servicio a programas como setup.exe. Pero hablaremos más de eso en la siguiente parte.



1. ¿Para qué sirve AutoIt3?

AutoIt está diseñado para tareas generales de automatización. Para lograr este objetivo, se creó un lenguaje de programación estandarizado similar al BASIC. Esto significa que si ya está familiarizado con algún lenguaje de programación de scripts, lo más probable es que aprenda AutoIt v3 con facilidad.

2. ¿Es difícil aprender AutoIt?

Es muy fácil aprender AutoIt3, mira el ejemplo de llamada de comandos.

9. ¿Por qué, cuando intento mostrar el valor de una variable usando la construcción "Valor de variable: $variable", no obtengo el resultado esperado?

Si tiene una variable llamada $msg y desea enviarla a MsgBox, lo siguiente NO funcionará:

12. ¿Cómo puedo finalizar un script cuando presiono una tecla de acceso rápido?

Si desea finalizar un script cuando se presiona una combinación de teclas específica, use la función HotKeySet, que ejecuta una función especificada por el usuario cuando se presiona la combinación de teclas especificada. Esta función definida por el usuario debe contener la palabra clave Salir.

A continuación se muestra el código que finaliza el script cuando se presiona la combinación de teclas CTRL+ALT+x

13. ¿Cómo puedo usar mi propio ícono para un script compilado?

Debe ejecutar el programa compilador de scripts (y no simplemente seleccionar "Compilar" al hacer clic derecho en el archivo de script). Esta página de ayuda describe cómo funciona el compilador con más detalle. Utilice también AutoIt3Wrapper para especificar el icono en el propio script mediante directivas.

14. ¿Cómo puedo evitar que se ejecute una segunda copia de mi script?

Utilice la función _Singleton(). Consulte el tema de ayuda Funciones definidas por el usuario (UDF) para obtener más información. información detallada sobre cómo funciona esta función y cómo utilizarla.

15. ¿Cuáles son las limitaciones técnicas de AutoIt3?

A continuación encontrará las limitaciones técnicas actuales impuestas a AutoIt. Tenga en cuenta que algunos límites son puramente teóricos y es probable que alcance los límites de rendimiento o memoria antes de que se active el límite. Consulte también la sección " "

Significado Descripción
2147483647 Longitud máxima variable de cadena. Teniendo en cuenta el límite de 2 GB por proceso y los caracteres en la memoria en Unicode, esto reduce significativamente el valor especificado.
no limitado Número máximo de ventanas GUI
5100 Nivel máximo de anidamiento de llamadas a funciones recursivas
no limitado Número máximo de funciones de usuario
no limitado Número máximo de variables utilizadas en el script

rango de números comió punto flotante con precisión de hasta 15 decimales

Rango de enteros: tipo entero con signo de 64 bits

0x7FFFFFFFF

Rango hexadecimal: entero con signo de 32 bits
64 Número máximo de dimensiones en la matriz
16 millones Número total de elementos en la matriz.

16. ¿Por qué falta una imagen en los ejemplos del archivo de ayuda?

Este debería haber sido un botón "Abrir" que abre los ejemplos de ayuda en la ventana del editor. Este tipo de error ocurre cuando la biblioteca hhctrl.ocx está registrada incorrectamente en el sistema o este archivo está dañado.
Intente registrarse ejecutando el comando "regsvr32 hhctrl.ocx" (Ejecutar cuadro de diálogo mediante Win+R) o verifique la capacidad de servicio del archivo.


» AutoIt

Descripción general

AutoIt v3 es un lenguaje de programación gratuito similar a BASIC diseñado para automatizar la GUI de Windows y la programación general. Utiliza una combinación de pulsaciones de teclas simuladas, movimiento del mouse y manipulación de ventanas/controles para automatizar tareas de una manera que no es posible o confiable con otros lenguajes (por ejemplo, VBScript y SendKeys). AutoIt también es muy pequeño, autónomo y se ejecutará en todas las versiones de Windows listas para usar, sin necesidad de molestos "tiempos de ejecución".

AutoIt se diseñó inicialmente para situaciones de “implementación” de PC para automatizar y configurar de manera confiable miles de PC. Con el tiempo, se ha convertido en un lenguaje poderoso que admite expresiones complejas, funciones de usuario, bucles y todo lo que los programadores veteranos esperarían.

  • Sintaxis similar a BASIC fácil de aprender
  • Simule pulsaciones de teclas y movimientos del mouse.
  • Manipular ventanas y procesos.
  • Interactuar con todos los controles estándar de Windows
  • Los scripts se pueden compilar en ejecutables independientes
  • Crear interfaces gráficas de usuario (GUI)
  • soporte COM
  • Expresiones regulares
  • Llame directamente a funciones DLL externas y API de Windows
  • Funciones RunAs programables
  • Archivo de ayuda detallado y grandes foros de soporte comunitarios
  • Compatible con Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10
  • Compatibilidad con Unicode y x64
  • Firmado digitalmente para su tranquilidad
  • Funciona con el Control de cuentas de usuario (UAC) de Windows Vista

AutoIt ha sido diseñado para ser lo más pequeño posible e independiente, sin necesidad de archivos .dll externos ni entradas de registro, lo que hace que su uso sea seguro en servidores. Los scripts se pueden compilar en ejecutables independientes con Auto2Exe.

También se suministra una versión combinada COM y DLL de AutoIt llamada AutoItX que le permite agregar las características únicas de AutoIt a sus propios lenguajes de programación o secuencias de comandos favoritos.

Lo mejor de todo es que AutoIt sigue siendo GRATIS– pero si desea apoyar el tiempo, dinero y esfuerzo invertido en el proyecto y el alojamiento web, puede donar.

Descargar

Características

Estas son algunas de las características únicas de AutoIt.

Sintaxis básica y conjunto de funciones enriquecido

AutoIt tiene una sintaxis similar a BÁSICA, lo que significa que la mayoría de las personas que alguna vez han escrito un script o han usado un lenguaje de alto nivel deberían poder aprenderlo fácilmente.

Aunque comenzó como una simple herramienta de automatización, AutoIt ahora tiene funciones y características que le permiten ser utilizado como un lenguaje de programación de propósito general (¡con una increíble automatización también, por supuesto!). Las características del idioma incluyen:

  • Los elementos habituales de alto nivel para funciones, bucles y análisis de expresiones.
  • Una cantidad asombrosa de funciones de manejo de cadenas y un motor de expresiones regulares compatible con Perl (utilizando la biblioteca PCRE).
  • soporte COM
  • Llame a API de DLL de Win32 y de terceros

Editor incorporado con resaltado de sintaxis

AutoIt viene con una versión “lite” personalizada de SciTe que facilita la edición de guiones. Los usuarios también pueden incluir herramientas adicionales para facilitar aún más las cosas.

Independiente y pequeño

AutoIt es una aplicación muy pequeña e independiente que no depende de tiempos de ejecución masivos como .NET o VB. Todo lo que necesita para ejecutar los scripts de AutoIt es el ejecutable principal de AutoIt (AutoIt3.exe) y el script. Los scripts también se pueden codificar en ejecutables independientes con el compilador de scripts integrado. Auto2Exe.

Soporte internacional y de 64 bits

¡AutoIt es totalmente compatible con Unicode y también incluye versiones x64 de todos los componentes principales! ¿Cuántos otros lenguajes de scripting gratuitos? puede decir eso sobre?

Simulación de tecla y ratón

Se ha dedicado mucho tiempo a optimizar las funciones de simulación de pulsaciones de teclas y mouse para que sean lo más precisas posible en todas las versiones de Windows. Todas las rutinas del mouse y del teclado son altamente configurables tanto en términos de “velocidad” de simulación como de funcionalidad.

Gestión de ventanas y controles

Puede esperar mover, ocultar, mostrar, cambiar el tamaño, activar, cerrar y prácticamente hacer lo que quiera con Windows. Se puede hacer referencia a Windows por título, texto en la ventana, tamaño, posición, clase e incluso identificadores internos de la API Win32.

Obtenga información directamente e interactúe con cuadros de edición, casillas de verificación, cuadros de lista, combos, botones y barras de estado sin el riesgo de perder las pulsaciones de teclas. ¡Incluso trabaja con controles en ventanas que no están activas!

Interfaces gráficas de usuario (GUI)

AutoIt v3 también le permitirá crear algunas GUI complejas, ¡como las que aparecen a continuación!

Y mucho, mucho más.

Probablemente quieras ir a la página de descargas ahora mismo...

El sistema operativo Windows ha ganado popularidad principalmente debido a su interfaz cómoda e intuitiva. Pero si el usuario normal sólo se beneficia de esto, entonces para el administrador control de botón tiene muchos inconvenientes. Por supuesto, algunos problemas se pueden resolver utilizando comandos y scripts de la consola, pero no todos. Y aquí vienen al rescate. medios especiales automatización.

AutoIt

Una de las herramientas de automatización más populares entre los administradores es AutoIt (autoitscript.com/autoit3), que simula pulsaciones de teclas, clics del mouse y otras acciones similares que un usuario suele realizar cuando trabaja en aplicaciones GUI.

Usando AutoIt, todos estos movimientos se pueden programar usando un lenguaje similar al BASIC. El programa puede gestionar procesos, acceder a la API y DLL de Windows, el registro, el portapapeles, archivos (leer, cambiar, eliminar), crear GUI, mensajes, formularios de entrada de datos, trabajar con bases de datos (MySQL y SQLite), leer código HTML, descargar. archivos, enviar correos electrónicos y mucho más. En general, todo depende únicamente del deseo de modificar la configuración. Es gratificante que AutoIt no requiera conocimientos de programación por parte del administrador. En los scripts, puedes acceder fácilmente a los controles de las ventanas con sólo un par de líneas de código. Sin embargo, conviene recordar que AutoIt funciona sin problemas con el estándar. ventanas de ventanas. Si los autores se preocuparon por la singularidad de la interfaz, tendrás que trabajar un poco mientras configuras AutoIt para encontrar los parámetros necesarios.

Admite Windows de 95 a 2k8, incluido el funcionamiento en versiones del sistema de 64 bits, y es "compatible" con Vista UAC. Es conveniente que los scripts se puedan compilar en un archivo ejecutable y luego ejecutarlos en otra máquina. No se requieren aplicaciones ni bibliotecas adicionales.

AutoIt se distribuye bajo una licencia gratuita, lo que permite su uso sin restricciones, incluso con fines comerciales. La instalación es estándar, no existen requisitos adicionales. La versión actual es 3, cuya sintaxis es incompatible con la versión 2 anterior. El programa viene con el editor de scripts SciTE4AutoIt3, la utilidad de verificación de sintaxis AU3Check.exe, ejemplos listos para usar, compilador Aut2Exe (y Exe2Aut inverso) y ayuda. Durante la instalación, la extensión *.au3 se asignará al intérprete de AutoIt.

El lenguaje de programación utilizado en AutoIt es uno de sus fortalezas. Es a la vez poderoso y simple. Por ejemplo, para ejecutar el programa, simplemente escriba:

Eso es todo, no más acción. AutoIt es una excelente manera de automatizar el proceso de instalación de aplicaciones que no admiten archivos de respuesta. Para capturar ventanas, generalmente se usa la función WinWaitActive para ingresar parámetros, que interrumpe la ejecución del script hasta que se activa la ventana. Los parámetros de la función deben incluir el título de la ventana y texto adicional opcional. Este último le permite distinguir entre sí diferentes ventanas del mismo programa. Por ejemplo, las ventanas del instalador de AutoIt contienen el mismo título: AutoIt v3.3.6.1.5, es decir, si usa:

WinWaitActive("AutoIt v3.3.6.1.5")

Este diseño coincidirá con todos los pasos del instalador. Por lo tanto, es mejor aclarar ingresando el texto adicional que se muestra en la ventana, por ejemplo:

WinWaitActive("AutoIt v3.3.6.1.5", "Acuerdo de licencia")

Esto definitivamente nos llevará a la ventana del acuerdo de licencia. Sólo queda enviarle la confirmación: Enviar("!y")

Como puedes ver, todo es sencillo. Junto con los programas, también está instalada la utilidad AutoIt Window Info Tool (AU3Info.exe), que le ayudará a obtener toda la información sobre el título de la ventana, el texto (mostrado y oculto), la barra de estado, la ubicación, el color, etc. . Simplemente lo ejecutamos y colocamos una cruz en la ventana, después de lo cual leemos todos los valores en la herramienta de información de la ventana. Con su ayuda, es mucho más fácil recopilar la información necesaria desde la ventana del programa experimental. La ayuda en AutoIt es muy detallada, tiene todos los detalles sobre el uso del idioma. En la documentación del sitio web del proyecto encontrará un enlace a una versión traducida de la ayuda. Además, numerosos foros especializados suelen tener un hilo aparte. No debería haber ningún problema al aprender AutoIt; en una tarde puedes aprender a escribir scripts simples; las soluciones complejas naturalmente requerirán mucho tiempo.

Xarranque

Otro programa popular para automatizar las tareas rutinarias del administrador del sistema. El desarrollador es nuestro compatriota Alexey Gilev (xstarter.com/rus), por lo que xStarter tiene una interfaz localizada y, lo más importante, el programa se distribuye de forma gratuita para los usuarios de habla rusa.

Después de la instalación, xStarter se puede iniciar manualmente, automáticamente cuando el usuario inicia sesión o iniciarse como servicio de windows. La última opción le permite ejecutar una tarea exactamente a la hora especificada, independientemente del registro del usuario en el sistema y otros factores, siempre que la computadora esté encendida. Ofrece ejecución periódica de tareas, un cronograma compuesto, configuración de omisiones y acciones para tareas perdidas y activación por evento. En general, hay opciones más que suficientes. Con xStarter, puede ampliar la lista de teclas de acceso rápido o redefinir sus valores de forma global o local. Por ejemplo, puede ejecutar fácilmente una tarea cuando presiona una combinación de teclas. , pero sólo si Firefox se está ejecutando.

El programa en ejecución se coloca en la bandeja, al hacer clic en el icono, llamamos al editor de tareas. En la ventana Secciones/Tareas encontraremos dos docenas de ejemplos, como dicen, para todos los casos. Las tareas habilitadas están marcadas con un icono verde.

Seleccionamos el que tiene un significado más cercano (o creamos una nueva tarea), lo copiamos usando el menú contextual y lo editamos para adaptarlo a sus necesidades. Cada tarea se configura en cuatro pestañas. Así, en la pestaña “Horario e Información” indicamos el nombre de la tarea, la hora o evento en el que se ejecutará, una combinación de teclas y una ventana de programa opcionalmente activa, cuando aparezca, se debe ejecutar la tarea. Las macros en sí están escritas en la pestaña "Acciones". Haga clic en "Nueva acción"; aparece la ventana de configuración. En el lado izquierdo encontramos los ajustes preestablecidos, divididos en varios grupos, luego especificamos los parámetros en el lado derecho. Las pestañas de tareas restantes le permiten configurar variables, establecer prioridades, ejecutar en un proceso separado y registrar. Todo es muy simple y claro.

Para activar funciones bloqueadas, debe instalar adicionalmente el módulo xStartHooks. En este caso, xStarter se comportará como un típico troyano o software malicioso: comenzará a interceptar llamadas del sistema, a "presionar" teclas y a enviar mensajes que pueden no ser del agrado de los antivirus y fireware. Pero con algunos antivirus (por ejemplo, NOD32) esto se puede solucionar fácilmente, basta con añadir xStarter a las excepciones.

Para mayor comodidad, las macros se pueden compilar en un archivo exe; bajo ciertas configuraciones, todas las bibliotecas necesarias se pueden agregar automáticamente aquí. Luego distribuimos dichos archivos a otros sistemas y los ejecutamos.

Queda por añadir que todos los sistemas operativos Windows desde NT4 hasta 2k8/7 son compatibles.

En el foro del proyecto puede encontrar ejemplos de algunas tareas populares, incluida la carga de archivos, el envío de SMS y correo electrónico, la copia de seguridad y la sincronización de datos.
También está disponible en el sitio una versión especial de Starter Job Scheduler para Firebird/Interbase; está diseñada para ejecutar scripts SQL, realizar copias de seguridad y restaurar datos en estos DBMS. Otra oportunidad única - control remoto iniciar tareas, así como ver el registro utilizando la aplicación especial xStarter Web Pilot.

Automatizar

Probablemente el programa comercial más famoso para automatizar tareas sea AutoMate, desarrollado por Network Automation, Inc (networkautomation.com). Su característica principal es la creación de tareas mediante una cómoda GUI, sin necesidad de escribir código. Todo el proceso se simplifica mediante el uso de asistentes y un editor de tareas especial, Task Builder. El programa contiene una gran cantidad plantillas listas para usar acciones y reacciones a ellos, lo que simplifica aún más el proceso de creación de una cadena de acciones. La versión actual de AutoMate 7 al momento de escribir este artículo admite más de 230 acciones preestablecidas que le permiten programar tareas, trabajar con archivos y bases de datos, transferir datos a través de FTP/SFTP, cifrar usando PGP, monitorear sistemas, acceder a WMI y mucho más.

AutoMate está disponible en cuatro ediciones, todas adaptadas a usos específicos: AutoMate Professional y Premium, AutoMateBPAServer 7 Standard y Enterprise. El más simple, AutoMate Professional, proporciona una interfaz conveniente para crear tareas en el sistema local. El más avanzado, Enterprise, ofrece oportunidades para operación simple cuentas y roles, trabajo en AD, gestión centralizada de varias máquinas, soporte SNMP, telnet y emulador de terminal.
Se admiten todos los sistemas operativos Win desde XP SP2 hasta 2k8/7. Para la instalación necesitarás plataforma microsoft.NET Framework versión 3.0.

La gestión real se lleva a cabo mediante dos consolas: Task Builder y Task Administrator. Las tareas se crean en Task Builder. Este proceso es bastante sencillo: en el panel izquierdo, de los 29 grupos disponibles, selecciona la acción deseada y muévela al campo del medio con el ratón. Aparece un asistente para ayudarle a refinar su configuración. Por ejemplo, creemos una acción que le permita obtener datos sobre una sección. disco duro. Vaya al menú Sistema -> Obtener información de volumen, aparece un asistente del mismo nombre, que consta de cuatro pestañas.

Necesitamos revisar y seleccionar los parámetros en cada uno de ellos de forma secuencial. En General indicamos la partición del disco y los parámetros que queremos recibir: tipo, etiqueta, sistema de archivos, ubicación. Alternativamente, puede seleccionar inmediatamente Todos los volúmenes y luego, haciendo clic en el icono al lado del campo, establecer la condición de verificación. El programa proporciona una serie de variables, funciones y activadores integrados que se pueden utilizar en este campo. También puedes crear tu propia condición. En otras pestañas se especifica una descripción de la tarea y la acción en caso de errores.
Después de crear una tarea, aparece en la lista del medio, donde puede editarla, moverla, desactivarla, etc. A continuación, seleccione e ingrese otras Acciones de la misma manera. Para la depuración, puede agregar puntos de interrupción al trabajo (Punto de interrupción, ).

Task Administrator está diseñado para gestionar todas las tareas, tanto en un sistema local como remoto. Habiendo seleccionado cualquier tarea en él, podemos ver sus propiedades, activarla o crear una nueva tarea. En las propiedades de la tarea, desencadenantes, prioridad, protección, Cuenta, en cuyo nombre se ejecutará. Hay muchos escenarios, son muy diversos. Las tareas se guardan en archivos con la extensión *.aml.

AutoHotkey

AutoHotkey (autohotkey.com) es una bifurcación de AutoIt v2. Su autor, Chris Mallett, propuso agregar soporte para teclas de acceso rápido a AutoIt, pero la idea no encontró respuesta y, como resultado, la versión inicial se lanzó en noviembre de 2003. A diferencia de su producto principal, AutoHotkey está disponible bajo la licencia GNU GPL.

La sintaxis del lenguaje se basa en AutoIt v2, algunas ideas están tomadas de v3. Con su ayuda, puede automatizar fácilmente tareas repetitivas: iniciar un programa, enviar correo, editar el registro. Admite trabajar con archivos, simular presionar los botones del mouse y es posible crear una GUI. El programa puede monitorear eventos del sistema y realizar acciones cuando ocurren.

Pero el truco de AutoHotkey es la gestión de teclas de acceso rápido. Por ejemplo, para iniciar una calculadora con la combinación , escribimos solo una línea:

La almohadilla "#" corresponde a una clave . La documentación es muy detallada (la traducción está disponible en www.script-coding.info/AutoHotkeyTranslation.html) y refleja todas las características del idioma. Además del intérprete en sí, el proyecto ofrece una utilidad para crear una GUI: SmartGUI Creator y el editor SciTE4AutoHotkey, que tiene resaltado y finalización de código.

Los scripts (extensión *.ahk) se pueden compilar en un archivo exe y ejecutar en cualquier computadora.

Instale Firefox automáticamente usando AutoIt

AutoItSetOption("WinTitleMatchMode", 2)
AutoItSetOption("WinDetectHiddenText", 1)
WinMinimizeAll()
Dormir (1000)
Ejecutar ("FirefoxSetup3.6.6.exe")
WinWait("Instalar Mozilla Firefox")
Enviar("(ENTRAR)")
WinWait("Instalación de Mozilla Firefox", "Tipo de instalación")
Enviar("(ENTRAR)")
WinWait("Instalar Mozilla Firefox", "Resumen")
Enviar("(ENTRAR)")
WinWait("Instalar Mozilla Firefox", "Apagar
asistente de instalación")
Enviar("(ENTRAR)")
Salida

AUTOMATIZACIÓN EN CUALQUIER LUGAR

El desarrollo de la empresa californiana Tethys Solutions, LLC () ya ha obtenido el reconocimiento de los administradores y ha recibido premios de varios medios de comunicación. Con Automation Anywhere, puedes automatizar fácilmente cualquier tarea repetitiva, simple o compleja, sin necesidad de programación.

Diré de inmediato que el producto es muy serio y tiene una gran cantidad de posibilidades. El programa puede trabajar con archivos, enviar correo, ejecutar tareas según un plan o cuando se activa un disparador, usar scripts VBS y JavaScript y mucho más. La tecnología, denominada “Tecnología de automatización SMART”, elimina la necesidad de que un administrador sea también programador. La grabación se puede realizar automáticamente, cuando la computadora registra todas las acciones del usuario. En el futuro, esta tarea, inmediatamente o después de editarla, se podrá "desplazar" en otros sistemas, observando cómo el mouse recorre la pantalla y presiona los botones. El programa ofrece dos grabadores: Object Recorder para aplicaciones de escritorio y Web Recorder para grabar secuencias de acciones en un navegador web.

Además, Grabador web ultima versión El programa es compatible con todas las principales tecnologías utilizadas en la web: Java, JavaScript, AJAX, Flash, frames. El proceso es bastante simple: inicie Automation Anywhere, seleccione la grabadora y el programa comenzará a grabar todas las acciones del usuario. Para parar, presione la combinación o haga clic en el icono "Detener" en la ventana flotante en la parte inferior de la pantalla. Al final del proceso, el programa ofrecerá guardar la grabación en un archivo (extensión *.atmn). La edición, así como la creación manual de una tarea, se realiza mediante el Editor de tareas.

Los desarrolladores ya han incluido varias plantillas de tareas en el programa que pueden usarse como ejemplos. Editar una tarea grabada tampoco requiere conocimientos de código. Al hacer clic en el botón Editar, veremos la secuencia completa de acciones realizadas en la pantalla (movimientos del mouse, pulsaciones de teclas).

La ventana del editor de la izquierda muestra comandos predefinidos, divididos en categorías, que se pueden agregar a la tarea. Lo tiene todo: trabajar con archivos y directorios, realizar copias de seguridad, tablas de Excel, conectarse a Internet, enviar correo electrónico, capturar imágenes de escritorio, iniciar/detener servicios. Seleccione la tarea deseada y simplemente arrástrela a la ventana derecha. Inmediatamente se abre una ventana de edición de propiedades, en la que completamos los parámetros propuestos (son específicos de cada elemento). El editor admite scripts adicionales, trabajo con variables, depuración y mucho más.

La tarea creada se puede exportar a un archivo ejecutable y distribuir a otros sistemas.

La tarea puede comenzar por tiempo o cuando se dispara un disparador, este comportamiento se configura en Trigger Manager, aquí puedes elegir: abrir una ventana con un texto determinado, apariencia de un archivo en el directorio, carga de recursos (CPU, memoria, libre). espacio), inicio/parada de un proceso o servicio, recepción de un correo electrónico específico. Los desarrolladores no se olvidaron de la seguridad: Automation Anywhere le permite proteger el script con una contraseña y cifrarlo.

En general, todo lo que necesitas está en el programa, lo único que falta es la localización. Automation Anywhere es compatible con todas las versiones de Windows: desde XP hasta 2k8/7.

Conclusión

De hecho, existen muchos más programas para automatizar tareas rutinarias. Las versiones pagas se distinguen por una mayor comodidad y una interfaz amigable, la capacidad de trabajar en un entorno de red. Aunque, dependiendo de tu preparación y ganas de modificar la configuración, puedes arreglártelas con programas gratuitos como xStarter, AutoIt o AutoHotkey.

Programador de tareas estándar de Windows

Microsoft finalmente se dio cuenta de la necesidad de un programador adecuado y, a partir de Vista, el sistema recibió un Programador de tareas mejorado (Administración... Programador de tareas, o taskchd.msc), significativamente rediseñado en comparación con versiones anteriores. Su interfaz le permite conectarse a otra computadora para configurar, crear (versiones simples y avanzadas) o importar una tarea. Así, los elementos principales de la tarea fueron Desencadenantes, Acciones, Condiciones y Configuraciones. El disparador determina cuándo y en qué evento ocurre qué evento ejecutar la tarea: por hora, cuando se enciende la computadora, cuando inicia sesión o cuando aparece un evento en el registro. En este último caso, debe especificar el registro donde se rastreará el evento, la fuente y el código del evento.

Las condiciones y parámetros aclaran la esencia de la tarea y la acción determina lo que realmente se puede hacer (iniciar un programa, enviar un mensaje). La capacidad de retrasar el inicio de una tarea le permite retrasar el inicio en situaciones en las que su inicio inmediato es inaceptable (por ejemplo, alta carga del sistema). Las condiciones especifican otras opciones para ejecutar una tarea, por ejemplo, mientras la computadora está inactiva.

Este artículo apareció en el sitio debido a la popularidad de AutoIt entre los visitantes del foro de Instalación automática de Windows. El artículo consta de dos partes. El primero contiene una introducción a AutoIt, extraída íntegramente de la ayuda rusa para AutoIt, que fue traducida muy competentemente del inglés por Valery Ivanov. Lamentablemente, no fue posible encontrar los datos de contacto del autor, pero me gustaría creer que no se opone a la publicación de sus obras. Recomiendo descargar la ayuda y revisarla. lecciones, donde aprenderá inmediatamente lo fácil que es automatizar la instalación de aplicaciones utilizando AutoIt. La segunda parte del artículo es una lista de preguntas frecuentes en la conferencia de Oszone sobre cómo trabajar con AutoIt. Las respuestas, por supuesto, están adjuntas. Se han preparado "Preguntas frecuentes sobre Oszone AutoIt" ​​para usted.

Introducción a AutoIt

AutoIt v3 es un lenguaje de programación similar al BÁSICO. Su objetivo principal es automatizar el trabajo con la GUI de Windows (interfaz gráfica de usuario de MS Windows). Para realizar esta compleja tarea, se proporciona una combinación de técnicas comprobadas, que incluyen la simulación de pulsaciones de teclas del teclado, movimientos del puntero del mouse y manipulación de ventanas y elementos visuales. La experiencia ha demostrado que estas "correas de transmisión" son muy efectivas para producir soluciones viables en situaciones donde otros medios estándar(por ejemplo, VBScript y SendKeys) no tienen poder.

AutoIt estaba destinado a ser un medio para "replicar configuraciones" de una PC. Pero desde la creación de la tercera versión, sus capacidades se pueden utilizar para implementar la "cocina" de la automatización: escribir scripts para resolver diversos problemas, incluso para la administración del sistema.

AutoPuede:

  • Simule combinaciones de teclado al presionar (se admiten la mayoría de los diseños de teclado)
  • Simule movimientos del puntero del mouse y clics de botones.
  • Mover, cambiar el tamaño y controlar las opciones de visualización de la ventana
  • Interactuar directamente con los “controles” de la ventana (obtener/cambiar el título, mover, deshabilitar, etc. acciones)
  • Trabajar con el portapapeles para transferir su contenido de texto.
  • Leer, cambiar y crear claves y valores de registro

La nueva versión de AutoIt3 reconoce construcciones comunes y tiene una sintaxis estándar que recuerda a VBScript y BASIC, y admite el procesamiento de expresiones complejas, la ejecución de funciones personalizadas y la realización de cálculos cíclicos y condicionales. Además, AutoIt3 está diseñado para todo lo que los guionistas veteranos llevan utilizando desde hace tiempo.

Como antes, AutoIt tiene un tamaño de intérprete pequeño (~100 KB), que es independiente y no se refiere a bibliotecas distintas a las del sistema .dll. Deliberadamente no realiza inscripciones independientes u ocultas en el registro, salvo las que sean obligatorias y formen parte del proceso. instalación completa. Los scripts se pueden compilar en ejecutables independientes utilizando el compilador de scripts suministrado: Aut2Exe.

Junto con el intérprete, se actualiza la versión ActiveX y DLL de AutoIt, llamada AutoItX3. Esta biblioteca es una combinación combinada (COM y una biblioteca DLL estándar en un módulo). ¡AutoItX3 le permite agregar características únicas de AutoIt a aplicaciones que escribe en otros lenguajes de programación!

Y finalmente, lo más significativo es el hecho de que AutoIt sigue siendo gratis. Sin embargo, si puede apoyar este proyecto con su tiempo, dinero u otros esfuerzos, se aceptan todo tipo de donaciones en la página de inicio de AutoIt.

Preguntas frecuentes de Oszone AutoIt

Lea el manual de AutoIt; muchas cosas quedarán más claras :) Lo que se indica a continuación es algo así como una breve referencia y una sección de preguntas frecuentes a tiempo parcial.

Lanzar aplicaciones

  1. Lanzamiento normal
    Ejecutar ("C:\Archivos de programa\RivaTuner\RivaTuner.exe")
    ;o así:
    FileChangeDir("C:\Archivos de programa\RivaTuner\")
    Ejecutar("RivaTuner.exe")
    Para universalizar scripts, utilice macros, por ejemplo, en lugar de " C:\Archivos de programa"Es mucho más práctico utilizar una macro @ProgramFilesDir. Entonces el comando de inicio de la aplicación se verá así:
    Ejecutar(@ProgramFilesDir & "\RivaTuner\RivaTuner.exe")

    Para obtener una lista completa de macros, consulte la sección del manual " Referencia de macros".

  2. Con espera de finalización (útil para la instalación silenciosa de aplicaciones)
    RunWait("RivaTuner20RC158.exe/s")
    Tenga en cuenta que el primer argumento de las funciones Correr Y EjecutarEsperar es Ruta completa A Archivo ejecutable. Puede escribir un nombre solo en dos casos: si el script está ubicado en el mismo directorio o después de cambiar primero el directorio de trabajo con pom. funciones ArchivoCambiarDir.

Variables del sistema

  1. En principio, las macros duplican la mayoría de las variables del sistema, pero no todas. Puede acceder directamente a sus valores utilizando la ayuda. funciones EnvGet, Por ejemplo:
  2. Agregar una ruta a una variable Camino: ;por ejemplo, agregue la ruta a 7-Zip en Ruta$addtopath="%ProgramFiles%\7-Zip" $smcur="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet" & StringFormat("%03s",RegRead("HKEY_LOCAL_MACHINE\SYSTEM\Select","Current")) & "\Control\ Administrador de sesión\Entorno" $syscurpath=RegRead($smcur,"Ruta")



Arriba