- vừa được xem lúc

AutoIT Ngôn Ngữ Lập Trình Bị Ghét Bỏ?

0 0 17

Người đăng: Nguyễn Thanh Hải

Theo Viblo Asia

1. AutoIT là gì?

AutoIt là một ngôn ngữ lập trình được cung cấp miễn phí, có dạng kịch bản giống như BASIC (được viết trên nền C++ ) được thiết kế để tự động hóa các GUI (Graphic User Interface: giao diện người dùng) và các thao tác thường dùng. Nó là sự phối hợp của việc giả lập nhấn phím, di chuyển chuột và thao tác trên cửa sổ/control (control là các đối tượng tương tác được trên cửa sổ, ví dụ như là button - nút bấm) để thực hiện tự động các tác vụ theo cách thức mà các ngôn ngữ khác không thể làm hoặc làm không chuẩn xác. AutoIt có dung lượng rất nhỏ gọn, có thể chạy độc lập trên tất cả các phiên bản của Windows mà không cần các runtime để làm nền. Tuy nhiên, kể từ phiên bản v3.3, AutoIt đã không còn hỗ trợ cho Windows 9x và Win NT 4.0. AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.


Ưu điểm chính:

  • Dễ học vì các cú pháp đơn giản. (Khá giống Javascript vì cùng là ngôn ngữ kịch bản).
  • Giả lập được các hành động nhấn phím và di chuyển chuột.
  • Thao tác được với các tiến trình và cửa sổ.
  • Tương tác được với các control trên cửa sổ.
  • Tệp tin kịch bản có thể được biên dịch thành một tệp tin thực thi duy nhất.
  • Cho phép tạo GUI - giao diện đồ họa người dùng.
  • Hỗ trợ COM (Component Object Model).
  • Hỗ trợ Biểu thức chính quy (Regular Expression).
  • Gọi một cách có định hướng các tệp tin DLL mở rộng và các hàm API.
  • Tài liệu chi tiết và cộng đồng hỗ trợ lớn.
  • Tương thích với tất cả phân hệ của Windows.
  • Hỗ trợ Unicode và x64.
  • Làm việc với User Account Control (UAC) trên Windows Vista.

Nhược điểm:

  • Chưa hỗ trợ đa tiểu trình (multi-thread).
  • Chưa hỗ trợ đầy đủ bộ xử lý sự kiện trên control (GUI Event Handled). Ví dụ như sự kiện MouseHover, MouseMove.
  • Dễ bị dịch ngược - tuy nhiên điều này còn tùy thuộc vào cách bảo vệ của bạn và kỹ năng của "người dịch ngược".
  • Thường bị trình diệt vi-rút cho luôn là Trojan/Malware.

Lịch sử ngắn gọn của autoIT:

  • Ra đời: January 1999
  • Loại: Mã nguồn mở
  • Phiên bản mới nhất: 3.3.14.3 / February 2, 2018
  • Cha đẻ: Jonathan Bennett & AutoIt Team

2. Tại sai AutoIT bị ghét bỏ?

Với mục đích ban đầu AutoIT được sử dụng để viết các chương trình Auto (phần mềm tự động) để giải quyết các nhu cầu về công việc nào đó. Đa số trong số đó là AutoGame, AutoSendRequest, ... Tuy nhiên có vẻ như nhiều người sử dụng AutoIT để viết các mã độc virus malware hay nổi tiếng hơn là Botnet/RAT - Cái này chuyên để tạo ra những chú troijan (yaoming). Yahoo ngày xưa cũng bị phát tán virus năm 2006, hầu hết các mã độc đó đều được viết bằng autoIT (nghe đồn - yaoming). Hầu hết các chương trình diệt virus hiện này khi xác nhận một phần mềm có chữ kí sử dụng autoIT thì auto là malware (yaoming).


Xem qua Code HelloWord của AutoIT trên trang chủ:

; This script types Hello World in a Word document. ; Before running this script, open Word and save the file as hello.docx (or hello.doc).
; The names must be in lower case to match the script. Opt("WinTitleMatchMode", 2) ; Configures AutoIt to find a search term in any part of the window title
WinActivate("hello.doc") ; Activates the Word window with hello.docx (or hello.doc) in any part of the title bar
WinWaitActive("hello.doc") ; Waits for the window to be the active window
Send("Hello World") ; Types Hello World

Nói tóm lại AutoIT là một ngôn ngữ rất đáng để học, dễ dàng và tiện lợi khi sử dụng để ... viết các loại tool tự động hóa. Một vài tài nguyên học tập để chúng ta lướt qua về AutoIT như:

3. Nguồn tài liệu tham khảo

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 528

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 411

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 777

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 375

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 464

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 436