Autoit mô tả các chức năng. Một nhân viên bị xích: Đánh giá các chương trình tự động hóa các hoạt động thường ngày. Bộ lập lịch tác vụ Windows tiêu chuẩn

Bài viết này xuất hiện trên trang web do sự phổ biến của AutoIt đối với những khách truy cập diễn đàn Cài đặt Windows Tự động. Bài viết bao gồm hai phần. Phần đầu tiên chứa phần giới thiệu về AutoIt, được lấy hoàn toàn từ sự trợ giúp của Nga dành cho AutoIt, được dịch rất thành thạo từ tiếng Anh bởi Valery Ivanov. Thật không may, không thể tìm thấy thông tin liên hệ của tác giả, nhưng tôi muốn tin rằng anh ấy không phản đối việc xuất bản tác phẩm của mình. Tôi thực sự khuyên bạn nên tải xuống trợ giúp và xem xét Những bài học, từ đó bạn sẽ biết ngay việc tự động cài đặt ứng dụng bằng AutoIt dễ dàng như thế nào. Phần thứ hai của bài viết là danh sách các câu hỏi thường gặp tại hội nghị Oszone về làm việc với AutoIt. Tất nhiên, các câu trả lời đều được bao gồm. "Câu hỏi thường gặp về Oszone AutoIt" ​​đã được chuẩn bị cho bạn.

Giới thiệu về AutoIt

AutoIt v3 là ngôn ngữ kịch bản giống BASIC. Mục đích chính của nó là tự động hóa công việc với Windows GUI (giao diện đồ họa người dùng MS Windows). Để thực hiện nhiệm vụ phức tạp này, chúng tôi cung cấp sự kết hợp của các kỹ thuật đã được chứng minh, bao gồm mô phỏng thao tác gõ phím trên bàn phím, chuyển động của con trỏ chuột cũng như thao tác với cửa sổ và phần tử trực quan. Kinh nghiệm đã chỉ ra rằng những "dây truyền động" này rất hiệu quả trong việc đạt được các giải pháp khả thi trong các tình huống mà các công cụ tiêu chuẩn khác (ví dụ: VBScript và SendKeys) bất lực.

AutoIt được dự định là một phương tiện “sao chép cấu hình” của PC. Nhưng kể từ khi tạo ra phiên bản thứ ba, khả năng của nó có thể được sử dụng để triển khai “nhà bếp” tự động hóa - viết các tập lệnh để giải quyết các vấn đề khác nhau, bao gồm cả quản trị hệ thống.

AutoIt có thể:

  • Mô phỏng các tổ hợp phím nhấn (hầu hết các bố cục bàn phím đều được hỗ trợ)
  • Mô phỏng chuyển động của con trỏ chuột và nhấp chuột vào nút
  • Di chuyển, thay đổi kích thước và kiểm soát các tùy chọn hiển thị cửa sổ
  • Tương tác trực tiếp với các “điều khiển” của cửa sổ (nhận/thay đổi chú thích, di chuyển, tắt, v.v. các hành động)
  • Làm việc với clipboard để chuyển nội dung văn bản của nó
  • Đọc, thay đổi và tạo các khóa và giá trị đăng ký

Phiên bản mới của AutoIt3 nhận dạng các cấu trúc phổ biến và có cú pháp tiêu chuẩn gợi nhớ đến VBScript và BASIC, đồng thời hỗ trợ xử lý các biểu thức phức tạp, thực thi các hàm tùy chỉnh cũng như thực hiện các phép tính tuần hoàn và có điều kiện. Ngoài ra, AutoIt3 được thiết kế cho mọi thứ mà các nhà biên kịch kỳ cựu đã sử dụng trong một thời gian dài.

Như trước đây, AutoIt có kích thước trình thông dịch nhỏ (~100KB), độc lập và không đề cập đến ngoài thư viện .dll hệ thống. Nó cố tình không tạo các mục độc lập hoặc ẩn trong sổ đăng ký, ngoại trừ những mục bắt buộc và là một phần của quá trình cài đặt hoàn chỉnh. Các tập lệnh có thể được biên dịch thành các tệp thực thi độc lập bằng cách sử dụng trình biên dịch tập lệnh được cung cấp - Aut2Exe.

Cùng với trình thông dịch, phiên bản ActiveX và DLL của AutoIt được nâng cấp, gọi là AutoItX3. Thư viện này là sự kết hợp tổng hợp (COM và thư viện DLL tiêu chuẩn trong một mô-đun). AutoItX3 cho phép bạn thêm các tính năng AutoIt độc đáo vào các ứng dụng bạn viết bằng các ngôn ngữ lập trình khác!

Và cuối cùng, điều quan trọng nhất là AutoIt vẫn miễn phí. Tuy nhiên, nếu bạn có thể hỗ trợ dự án này bằng thời gian, tiền bạc hoặc nỗ lực khác thì tất cả các hình thức quyên góp đều được chấp nhận trên trang chủ AutoIt.

Câu hỏi thường gặp về Oszone AutoIt

Đọc hướng dẫn sử dụng AutoIt - nhiều điều sẽ trở nên rõ ràng hơn :) Những gì được nêu dưới đây giống như một tài liệu tham khảo ngắn gọn và một Câu hỏi thường gặp bán thời gian.

Khởi chạy ứng dụng

  1. Khởi động bình thường
    Run("C:\Program Files\RivaTuner\RivaTuner.exe")
    ; hoặc như thế này:
    FileChangeDir("C:\Program Files\RivaTuner\")
    Chạy ("RivaTuner.exe")
    Để phổ biến các tập lệnh, hãy sử dụng macro, chẳng hạn như thay vì " C:\Tệp chương trình"Việc sử dụng macro sẽ thực tế hơn nhiều @ProgramFilesDir. Khi đó lệnh khởi chạy ứng dụng sẽ như thế này:
    Chạy(@ProgramFilesDir & "\RivaTuner\RivaTuner.exe")

    Để có danh sách macro đầy đủ, hãy xem phần hướng dẫn " Tham chiếu vĩ mô".

  2. Với tính năng chờ hoàn thành (hữu ích khi cài đặt ứng dụng trong im lặng)
    RunWait("RivaTuner20RC158.exe /s")
    Xin lưu ý rằng đối số đầu tiên của hàm ChạyChạyĐợi là đường dẫn ĐẦY ĐỦ đến tệp thực thi. Bạn chỉ có thể viết một tên trong hai trường hợp - nếu tập lệnh nằm trong cùng một thư mục hoặc sau lần đầu tiên thay đổi thư mục làm việc bằng pom. chức năng FileChangeDir.

Biến hệ thống

  1. Về nguyên tắc, macro trùng lặp hầu hết các biến hệ thống, nhưng không phải tất cả. Bạn có thể nhận trực tiếp giá trị của chúng bằng cách sử dụng trợ giúp. chức năng EnvGet, Ví dụ:
  2. Thêm đường dẫn vào một biến Con đường: ;ví dụ: thêm đường dẫn vào 7-Zip trong Đường dẫn$addtopath="%ProgramFiles%\7-Zip" $smcur="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet" & StringFormat("%03s",RegRead("HKEY_LOCAL_MACHINE\SYSTEM\Select","Current")) & "\Control\ Trình quản lý phiên\Môi trường" $syscurpath=RegRead($smcur,"Path")

Hệ điều hành Windows đã trở nên phổ biến chủ yếu nhờ giao diện tiện lợi và trực quan. Nhưng nếu người dùng bình thường chỉ được hưởng lợi từ việc này thì đối với người quản trị, điều khiển bằng nút nhấn có nhiều bất tiện. Tất nhiên, một số vấn đề có thể được giải quyết bằng cách sử dụng các lệnh và tập lệnh của bàn điều khiển, nhưng không phải tất cả. Và đây là lúc các công cụ tự động hóa đặc biệt ra tay giải cứu.

AutoIt

Một trong những công cụ tự động hóa phổ biến nhất đối với các quản trị viên là AutoIt (autoitscript.com/autoit3), mô phỏng thao tác gõ phím, nhấp chuột và các hành động tương tự khác mà người dùng thường thực hiện khi làm việc trong các ứng dụng GUI.

Sử dụng AutoIt, tất cả các chuyển động này có thể được lập trình bằng ngôn ngữ giống BASIC. Chương trình có thể quản lý các tiến trình, truy cập Windows API và DLL, sổ đăng ký, clipboard, tệp (đọc, thay đổi, xóa), tạo GUI, tin nhắn, biểu mẫu nhập dữ liệu, làm việc với cơ sở dữ liệu (MySQL và SQLite), đọc mã HTML, tải xuống tập tin, gửi e-mail và nhiều hơn nữa. Nói chung, tất cả chỉ phụ thuộc vào mong muốn mày mò cài đặt. Điều đáng mừng là AutoIt không yêu cầu quản trị viên phải có kỹ năng lập trình. Trong tập lệnh, bạn có thể dễ dàng truy cập các điều khiển cửa sổ chỉ bằng một vài dòng mã. Tuy nhiên, hãy nhớ rằng AutoIt hoạt động trơn tru với các cửa sổ Windows tiêu chuẩn. Nếu các tác giả quan tâm đến sự độc đáo của giao diện, bạn sẽ phải mất một chút thời gian trong khi thiết lập AutoIt để tìm các thông số cần thiết.

Hỗ trợ Windows từ 95 đến 2k8, bao gồm cả hoạt động trên các phiên bản 64-bit của hệ thống và “thân thiện” với Vista UAC. Thật tiện lợi khi các tập lệnh có thể được biên dịch thành exe và sau đó được thực thi trên máy khác. Không có ứng dụng hoặc thư viện bổ sung được yêu cầu.

AutoIt được phân phối theo giấy phép phần mềm miễn phí, cho phép sử dụng nó mà không bị hạn chế, kể cả cho mục đích thương mại. Cài đặt là tiêu chuẩn, không có yêu cầu bổ sung. Phiên bản hiện tại là 3, cú pháp không tương thích với phiên bản 2 trước đó. Chương trình đi kèm với trình soạn thảo tập lệnh SciTE4AutoIt3, tiện ích kiểm tra cú pháp AU3Check.exe, các ví dụ tạo sẵn, trình biên dịch Aut2Exe (và Exe2Aut ngược) và trợ giúp. Trong quá trình cài đặt, phần mở rộng *.au3 sẽ được ánh xạ tới trình thông dịch AutoIt.

Ngôn ngữ kịch bản được sử dụng trong AutoIt là một trong những điểm mạnh của nó. Nó vừa mạnh mẽ vừa đơn giản. Ví dụ: để chạy chương trình, chỉ cần viết:

Thế là xong, không còn hành động nào nữa. AutoIt là một cách tuyệt vời để tự động hóa quá trình cài đặt cho các ứng dụng không hỗ trợ tệp trả lời. Để bắt cửa sổ, hàm WinWaitActive thường được sử dụng để nhập tham số, chức năng này sẽ làm gián đoạn quá trình thực thi tập lệnh cho đến khi cửa sổ được kích hoạt. Các tham số chức năng phải bao gồm tiêu đề cửa sổ và văn bản bổ sung tùy chọn. Cái sau cho phép bạn phân biệt các cửa sổ khác nhau của cùng một chương trình với nhau. Ví dụ: cửa sổ trình cài đặt AutoIt có cùng tiêu đề - AutoIt v3.3.6.1.5, nghĩa là nếu bạn sử dụng:

WinWaitActive("AutoIt v3.3.6.1.5")

Thiết kế này sẽ phù hợp với tất cả các bước cài đặt. Vì vậy, tốt hơn hết bạn nên làm rõ bằng cách nhập văn bản bổ sung được hiển thị trong cửa sổ, ví dụ:

WinWaitActive("AutoIt v3.3.6.1.5", "Thỏa thuận cấp phép")

Điều này chắc chắn sẽ đưa chúng ta đến cửa sổ thỏa thuận cấp phép. Tất cả những gì còn lại là gửi cho anh ấy xác nhận: Send("!y")

Như bạn có thể thấy, mọi thứ đều đơn giản. Cùng với các chương trình, tiện ích AutoIt Window Info Tool (AU3Info.exe) cũng được cài đặt, tiện ích này sẽ giúp bạn có được tất cả thông tin về tiêu đề cửa sổ, văn bản (hiển thị và ẩn), thanh trạng thái, vị trí, màu sắc, v.v. . Chúng tôi chỉ chạy nó và đặt một dấu chéo trên cửa sổ, sau đó chúng tôi đọc tất cả các giá trị trong Công cụ Thông tin Cửa sổ. Với sự trợ giúp của nó, việc thu thập thông tin cần thiết từ cửa sổ chương trình thử nghiệm sẽ dễ dàng hơn nhiều. Trợ giúp trong AutoIt rất chi tiết, nó có tất cả các chi tiết về cách sử dụng ngôn ngữ. Trong tài liệu trên trang web của dự án, bạn sẽ tìm thấy liên kết đến phiên bản dịch của trợ giúp. Ngoài ra, nhiều diễn đàn chuyên ngành thường có một chủ đề riêng. Sẽ không có vấn đề gì khi học AutoIt; chỉ trong một buổi tối, bạn có thể học cách viết các tập lệnh đơn giản; các giải pháp phức tạp đương nhiên sẽ đòi hỏi rất nhiều thời gian.

Xstarter

Một chương trình phổ biến khác để tự động hóa các tác vụ quản trị hệ thống thông thường. Nhà phát triển là đồng hương của chúng tôi, Alexey Gilev (xstarter.com/rus), theo đó, xStarter có giao diện được bản địa hóa và quan trọng nhất là chương trình được phân phối miễn phí cho người dùng nói tiếng Nga.

Sau khi cài đặt, xStarter có thể được khởi chạy thủ công, tự động khi người dùng đăng nhập hoặc khởi động dưới dạng dịch vụ Windows. Tùy chọn thứ hai cho phép bạn chạy một tác vụ vào đúng thời gian đã chỉ định, bất kể người dùng đăng ký vào hệ thống và các yếu tố khác, miễn là máy tính được bật. Nó cung cấp việc thực hiện định kỳ các nhiệm vụ, một lịch trình tổng hợp, thiết lập các bước bỏ qua và hành động cho các nhiệm vụ bị bỏ lỡ cũng như kích hoạt theo sự kiện. Nói chung, có quá nhiều lựa chọn. Sử dụng xStarter, bạn có thể mở rộng danh sách các phím nóng hoặc xác định lại giá trị của chúng trên toàn cầu hoặc cục bộ. Ví dụ: bạn có thể dễ dàng thực hiện một tác vụ khi nhấn tổ hợp phím , nhưng chỉ khi Firefox đang chạy.

Chương trình đang chạy được đặt vào khay, bằng cách nhấp vào biểu tượng, chúng tôi sẽ gọi trình chỉnh sửa tác vụ. Trong cửa sổ Phần/Nhiệm vụ, chúng ta sẽ tìm thấy hai chục ví dụ, như người ta nói, cho mọi trường hợp. Các tác vụ đã bật được đánh dấu bằng biểu tượng màu xanh lục.

Chúng tôi chọn từ gần nghĩa nhất (hoặc tạo một tác vụ mới), sao chép nó bằng menu ngữ cảnh và chỉnh sửa nó cho phù hợp với nhu cầu của bạn. Mỗi tác vụ được cấu hình trong bốn tab. Vì vậy, trong tab “Lịch trình và Thông tin”, chúng tôi cho biết tên của nhiệm vụ, thời gian hoặc sự kiện mà nó sẽ được khởi chạy, tổ hợp phím và cửa sổ chương trình hoạt động tùy chọn, khi nó xuất hiện, nhiệm vụ sẽ được thực thi. Bản thân các macro được viết trong tab “Hành động”. Nhấp vào “Hành động mới” - cửa sổ cài đặt xuất hiện. Ở phía bên trái, chúng tôi tìm thấy các cài đặt trước, được chia thành nhiều nhóm, sau đó chúng tôi chỉ định các tham số ở phía bên phải. Các tab tác vụ còn lại cho phép bạn định cấu hình các biến, đặt mức độ ưu tiên, chạy trong một quy trình riêng và ghi nhật ký. Mọi thứ đều rất đơn giản và rõ ràng.

Để kích hoạt các chức năng bị chặn, bạn phải cài đặt thêm mô-đun xStartHooks. Trong trường hợp này, xStarter sẽ hoạt động giống như một Trojan hoặc phần mềm độc hại điển hình - nó sẽ bắt đầu chặn các cuộc gọi hệ thống, phím “nhấn” và gửi tin nhắn, những điều mà phần mềm chống vi-rút và phần mềm cứu hỏa có thể không thích. Nhưng với một số phần mềm chống vi-rút (ví dụ: NOD32), vấn đề này có thể được giải quyết dễ dàng; chỉ cần thêm xStarter vào các trường hợp ngoại lệ.

Để thuận tiện, macro có thể được biên dịch thành tệp exe; trong một số cài đặt nhất định, tất cả các thư viện cần thiết có thể được tự động thêm vào đây. Sau đó, chúng tôi phân phối các tệp đó đến các hệ thống khác và thực thi chúng.

Vẫn cần nói thêm rằng tất cả các hệ điều hành Windows từ NT4 đến 2k8/7 đều được hỗ trợ.

Trên diễn đàn dự án, bạn có thể tìm thấy ví dụ về một số tác vụ phổ biến, bao gồm tải tệp lên, gửi SMS và e-mail, sao lưu và đồng bộ hóa dữ liệu.
Một phiên bản đặc biệt của Trình lập lịch công việc khởi đầu cho Firebird/Interbase cũng có sẵn trên trang web; nó được thiết kế để thực thi các tập lệnh SQL, sao lưu và khôi phục dữ liệu trong các DBMS này. Một tính năng độc đáo khác là điều khiển từ xa các lần khởi chạy tác vụ, cũng như xem nhật ký bằng ứng dụng xStarter Web Pilot đặc biệt.

Tự động hóa

Có lẽ chương trình thương mại nổi tiếng nhất để tự động hóa các tác vụ là AutoMate, được phát triển bởi Network Automation, Inc (networkautomation.com). Tính năng chính của nó là tạo các tác vụ bằng GUI tiện lợi mà không cần phải viết mã. Toàn bộ quá trình được đơn giản hóa thông qua việc sử dụng trình hướng dẫn và trình soạn thảo tác vụ đặc biệt, Trình tạo tác vụ. Chương trình chứa một số lượng lớn các mẫu hành động làm sẵn và phản ứng với chúng, giúp đơn giản hóa hơn nữa quá trình tạo chuỗi hành động. Phiên bản hiện tại của AutoMate 7 tại thời điểm viết bài hỗ trợ hơn 230 hành động được xác định trước cho phép bạn lên lịch tác vụ, làm việc với các tệp và cơ sở dữ liệu, truyền dữ liệu qua FTP/SFTP, mã hóa bằng PGP, giám sát hệ thống, truy cập WMI và hơn thế nữa.

AutoMate có sẵn bốn phiên bản, tất cả đều được điều chỉnh cho phù hợp với mục đích sử dụng cụ thể: AutoMate Professional và Premium, AutoMateBPAServer 7 Standard và Enterprise. Đơn giản nhất - AutoMate Professional - cung cấp giao diện thuận tiện để tạo các tác vụ trên hệ thống cục bộ. Phiên bản cao cấp nhất - Enterprise - cung cấp khả năng dễ dàng quản lý tài khoản và vai trò, hoạt động trong AD, cung cấp khả năng quản lý tập trung một số máy, hỗ trợ SNMP, trình mô phỏng telnet và thiết bị đầu cuối.
Hỗ trợ tất cả hệ điều hành Win từ XP SP2 đến 2k8/7. Để cài đặt, bạn sẽ cần Microsoft .NET Framework phiên bản 3.0.

Việc quản lý thực tế được thực hiện bằng hai bảng điều khiển - Trình tạo tác vụ và Quản trị viên tác vụ. Nhiệm vụ được tạo trong Trình tạo tác vụ. Quá trình này khá đơn giản: trong bảng điều khiển bên trái, từ 29 nhóm có sẵn, chọn hành động mong muốn và di chuyển nó đến trường giữa bằng chuột. Một trình hướng dẫn sẽ xuất hiện để giúp bạn tinh chỉnh cài đặt của mình. Ví dụ: hãy tạo một hành động cho phép bạn lấy dữ liệu trên phân vùng ổ cứng. Vào menu Hệ thống -> Nhận thông tin ổ đĩa, một trình hướng dẫn cùng tên xuất hiện, bao gồm bốn tab.

Chúng ta cần phải xem xét và lựa chọn các tham số trong từng tham số một cách tuần tự. Nói chung, chúng tôi chỉ ra phân vùng đĩa và các tham số mà chúng tôi muốn nhận: loại, nhãn, hệ thống tệp, vị trí. Ngoài ra, bạn có thể chọn ngay Tất cả các tập và sau đó, bằng cách nhấp vào biểu tượng bên cạnh trường, đặt điều kiện xác minh. Chương trình cung cấp một số biến, hàm và trình kích hoạt tích hợp có thể được sử dụng trong trường này. Bạn cũng có thể tạo điều kiện của riêng bạn. Trong các tab khác, mô tả nhiệm vụ và hành động trong trường hợp có lỗi sẽ được chỉ định.
Sau khi bạn tạo một tác vụ, tác vụ đó sẽ xuất hiện trong danh sách ở giữa, nơi bạn có thể chỉnh sửa, di chuyển, tắt tác vụ, v.v. Tiếp theo, chọn và nhập các Hành động khác theo cách tương tự. Để gỡ lỗi, bạn có thể thêm các điểm ngắt vào công việc (Điểm dừng, ).

Quản trị viên tác vụ được thiết kế để quản lý tất cả các tác vụ, cả trên hệ thống cục bộ và từ xa. Sau khi chọn bất kỳ tác vụ nào trong đó, chúng ta có thể xem các thuộc tính của nó, kích hoạt nó hoặc tạo một tác vụ mới. Trong các thuộc tính của nhiệm vụ, các trình kích hoạt, mức độ ưu tiên, mức độ bảo vệ và tài khoản thay mặt cho nhiệm vụ đó sẽ được thực thi được quy định. Có nhiều cài đặt, chúng rất đa dạng. Các tác vụ được lưu trong các tệp có phần mở rộng *.aml.

Phím nóng tự động

AutoHotkey (autohotkey.com) là một nhánh của AutoIt v2. Tác giả của nó, Chris Mallett, đã đề xuất bổ sung hỗ trợ phím nóng cho AutoIt, nhưng ý tưởng này không tìm được phản hồi và kết quả là bản phát hành đầu tiên được phát hành vào tháng 11 năm 2003. Không giống như sản phẩm mẹ của nó, AutoHotkey có sẵn theo giấy phép GNU GPL.

Cú pháp ngôn ngữ dựa trên AutoIt v2, một số ý tưởng được lấy từ v3. Với sự trợ giúp của nó, bạn có thể dễ dàng tự động hóa các tác vụ lặp đi lặp lại: khởi chạy chương trình, gửi thư, chỉnh sửa sổ đăng ký. Nó hỗ trợ làm việc với các tập tin, mô phỏng các lần nhấn nút chuột và có thể tạo GUI. Chương trình có thể giám sát các sự kiện hệ thống và thực hiện các hành động khi chúng xảy ra.

Nhưng thủ thuật của AutoHotkey là quản lý các phím nóng. Ví dụ: để khởi chạy một máy tính có tổ hợp , chúng ta chỉ viết một dòng:

Dấu băm "#" tương ứng với một khóa . Tài liệu rất chi tiết (bản dịch có sẵn tại www.script-coding.info/AutoHotkeyTranslation.html), nó phản ánh tất cả các tính năng của ngôn ngữ. Ngoài bản thân trình thông dịch, dự án còn cung cấp một tiện ích để tạo GUI - SmartGUI Creator và trình soạn thảo SciTE4AutoHotkey, có tính năng đánh dấu và hoàn thiện mã.

Các tập lệnh (phần mở rộng *.ahk) có thể được biên dịch thành tệp exe và được thực thi trên bất kỳ máy tính nào.

Tự động cài đặt Firefox bằng AutoIt

AutoItSetOption("WinTitleMatchMode", 2)
AutoItSetOption("WinDetectHiddenText", 1)
WinMinimizeAll()
Ngủ (1000)
Run("FirefoxSetup3.6.6.exe")
WinWait("Cài đặt Mozilla Firefox")
Gửi("(ENTER)")
WinWait("Cài đặt Mozilla Firefox", "Loại cài đặt")
Gửi("(ENTER)")
WinWait("Cài đặt Mozilla Firefox", "Tóm tắt")
Gửi("(ENTER)")
WinWait("Cài đặt Mozilla Firefox", "Tắt máy
Thuật sĩ cài đặt")
Gửi("(ENTER)")
Lối ra

TỰ ĐỘNG MỌI NƠI

Sự phát triển của công ty Tethys Solutions, LLC () của California () đã nhận được sự công nhận từ các quản trị viên và nhận được giải thưởng từ nhiều ấn phẩm truyền thông khác nhau. Với Tự động hóa mọi nơi, bạn có thể dễ dàng tự động hóa mọi tác vụ lặp đi lặp lại, đơn giản hay phức tạp mà không cần lập trình.

Tôi sẽ nói ngay rằng sản phẩm này rất nghiêm túc và có rất nhiều khả năng. Chương trình có thể làm việc với các tệp, gửi thư, chạy các tác vụ theo kế hoạch hoặc khi kích hoạt kích hoạt, sử dụng tập lệnh VBS và JavaScript, v.v. Công nghệ này có tên là “Công nghệ tự động hóa SMART”, loại bỏ nhu cầu quản trị viên cũng phải là lập trình viên. Việc ghi có thể được thực hiện tự động, khi máy tính ghi lại mọi hành động của người dùng. Trong tương lai, một tác vụ như vậy, ngay lập tức hoặc sau khi chỉnh sửa, có thể được "cuộn" trên các hệ thống khác, xem cách chuột tự chạy trên màn hình và nhấn các nút. Chương trình cung cấp hai trình ghi: Trình ghi đối tượng cho các ứng dụng máy tính để bàn và Trình ghi web để ghi lại chuỗi hành động trong trình duyệt web.

Hơn nữa, Web Recorder trong phiên bản mới nhất của chương trình hỗ trợ tất cả các công nghệ chính được sử dụng trên web: Java, JavaScript, AJAX, Flash, frame. Quá trình này khá đơn giản: khởi chạy Tự động hóa mọi nơi, chọn trình ghi và chương trình bắt đầu ghi lại mọi hành động của người dùng. Để dừng nhấn tổ hợp hoặc nhấp vào biểu tượng “Dừng” trong cửa sổ nổi ở cuối màn hình. Khi kết thúc quá trình, chương trình sẽ đề xuất lưu bản ghi vào một tệp (phần mở rộng * .atmn). Việc chỉnh sửa cũng như tạo tác vụ theo cách thủ công được thực hiện bằng Trình soạn thảo tác vụ.

Các nhà phát triển đã đưa vào chương trình một số mẫu nhiệm vụ có thể được sử dụng làm ví dụ. Chỉnh sửa một tác vụ đã ghi cũng không yêu cầu kiến ​​thức về mã. Khi nhấp vào nút Chỉnh sửa, chúng ta sẽ thấy toàn bộ chuỗi hành động được thực hiện trên màn hình (di chuyển chuột, nhấn phím).

Cửa sổ soạn thảo bên trái hiển thị các lệnh được xác định trước, được chia thành các danh mục, có thể được thêm vào tác vụ. Nó có mọi thứ: làm việc với các tập tin và thư mục, sao lưu, bảng Excel, kết nối Internet, gửi e-mail, chụp ảnh màn hình, khởi động/dừng dịch vụ. Chọn tác vụ mong muốn và chỉ cần kéo nó vào cửa sổ bên phải. Một cửa sổ chỉnh sửa thuộc tính ngay lập tức mở ra, trong đó chúng tôi điền các tham số được đề xuất (chúng dành riêng cho từng mục). Trình chỉnh sửa hỗ trợ các tập lệnh bổ sung, làm việc với các biến, gỡ lỗi và hơn thế nữa.

Tác vụ đã tạo có thể được xuất sang tệp thực thi và phân phối sang các hệ thống khác.

Tác vụ có thể bắt đầu theo thời gian hoặc khi kích hoạt trình kích hoạt, hành vi này được định cấu hình trong Trình quản lý kích hoạt, tại đây bạn có thể chọn: khởi chạy một cửa sổ với một văn bản nhất định, xuất hiện một tệp trong thư mục, tải tài nguyên (CPU, bộ nhớ, miễn phí space), bắt đầu/dừng một tiến trình hoặc dịch vụ, nhận một e-mail cụ thể. Các nhà phát triển đã không quên bảo mật - Tự động hóa mọi nơi cho phép bạn bảo vệ tập lệnh bằng mật khẩu và mã hóa nó.

Nói chung, mọi thứ bạn cần đều có trong chương trình, thứ duy nhất còn thiếu là bản địa hóa. Tự động hóa mọi nơi hỗ trợ tất cả các phiên bản Windows: từ XP đến 2k8/7.

Phần kết luận

Trên thực tế, có nhiều chương trình hơn để tự động hóa các công việc thường ngày. Các phiên bản trả phí được phân biệt bởi sự tiện lợi hơn và giao diện thân thiện, khả năng làm việc trong môi trường mạng. Mặc dù, tùy thuộc vào sự chuẩn bị của bạn và mong muốn mày mò cài đặt, bạn có thể thực hiện bằng các chương trình miễn phí như xStarter, AutoIt hoặc AutoHotkey.

Bộ lập lịch tác vụ Windows tiêu chuẩn

Microsoft cuối cùng đã nhận ra sự cần thiết của một bộ lập lịch thích hợp và bắt đầu từ Vista, hệ thống đã nhận được một Trình lập lịch tác vụ được cải tiến (Quản trị.. Trình lập lịch tác vụ hoặc taskchd.msc) - được thiết kế lại đáng kể so với các phiên bản trước. Giao diện của nó cho phép bạn kết nối với một máy tính khác để cấu hình, tạo (phiên bản đơn giản và nâng cao) hoặc nhập một tác vụ. Do đó, các yếu tố chính của nhiệm vụ là Kích hoạt, Hành động, Điều kiện và Cài đặt. Trình kích hoạt xác định thời điểm và thời điểm xảy ra sự kiện nào để chạy tác vụ: theo thời gian, khi máy tính được bật, khi bạn đăng nhập hoặc khi một sự kiện xuất hiện trong nhật ký. Trong trường hợp sau, bạn phải chỉ định nhật ký nơi sự kiện sẽ được theo dõi, nguồn và mã sự kiện.

Các điều kiện và tham số làm rõ bản chất của nhiệm vụ và hành động xác định những gì thực sự có thể được thực hiện (khởi chạy chương trình, gửi tin nhắn). Khả năng trì hoãn việc bắt đầu một tác vụ cho phép bạn trì hoãn việc bắt đầu trong những tình huống mà việc bắt đầu ngay lập tức của nó là không thể chấp nhận được (ví dụ: tải hệ thống cao). Các điều kiện chỉ định các tùy chọn khác để thực hiện một tác vụ, chẳng hạn như khi máy tính ở chế độ rảnh.

ALEXEY BARABANOV

Tự động hóa MS Windows hay AutoIt như giấc mơ của Enikey

Phần 1

Nếu máy photocopy không hoạt động, hãy gọi cho quản trị viên hệ thống.

Đây là một thiết bị điện tử phải không?

Kể từ khi máy tính ra đời, nhân loại đã được chia thành người dùng và “những người đam mê máy tính”. Họ đứng ở hai phía đối diện của máy tính điện tử, đôi khi bối rối không biết họ thuộc về tầng lớp hoặc nhóm chính xác nào. Nhưng dần dần mọi thứ và mọi người đều đâu vào đấy. Số lượng người dùng tăng lên và số lượng “nhà khoa học máy tính” ngày càng được cải thiện. Mặc dù có ít máy tính và chúng là những cấu trúc kỹ thuật lớn, được phục vụ bởi toàn bộ đội "chuyên gia máy tính", bao gồm một số lượng khá lớn thợ cơ khí và thợ điện, nhưng họ đã cố gắng tăng số lượng người dùng trên mỗi máy tính càng lớn càng tốt. Tỷ lệ chung giữa người dùng và “nhà khoa học máy tính” không được ai quan tâm vì máy tính là nguồn tài nguyên chính. Nhưng với sự ra đời của máy tính cá nhân, khi tỷ lệ giữa số lượng của chúng với số lượng người dùng chuyển sang loại số nguyên, việc có một đội bảo trì từng máy tính trở nên rất tốn kém. Chính từ thời điểm này, kể từ khi máy tính cá nhân được tạo ra, các nhà phát triển cả phần cứng và phần mềm đã bắt đầu nghĩ đến việc giảm chi phí bảo trì sản phẩm của họ. Sau đó, các “nhà khoa học máy tính” trừu tượng bắt đầu chuyển sang quản trị viên hệ thống chuyên bảo trì hệ thống máy tính. Đồng thời, các sản phẩm phần mềm đặc biệt bắt đầu xuất hiện, dành riêng cho quản trị viên hệ thống hoặc chủ yếu nhằm giải quyết các vấn đề bảo trì.

Ví dụ: người dùng IBM 360 làm việc trong môi trường DOS bằng cách nào đó phải biết và có thể sử dụng ngôn ngữ điều khiển công việc JCL, và nếu họ làm việc ở chế độ bảng điều khiển thì ngôn ngữ điều khiển hoạt động của toàn bộ hệ thống. Nhưng những người dùng IBM PS/2 làm việc trong môi trường OS/2 không còn có thể biết gì về cài đặt hệ thống và chỉ hài lòng với những gì giao diện đồ họa cung cấp cho họ.

Như vậy, vấn đề phân biệt người dùng với quản trị viên hệ thống bắt nguồn từ sự khác biệt về giao diện mà họ sử dụng. Người dùng máy tính được tích hợp trong điện thoại di động sẽ điều khiển thiết bị bằng giao diện đồ họa và các nút trên thân thiết bị và kỹ thuật viên bảo trì cùng một điện thoại sẽ sử dụng lệnh console hoặc giao diện đồ họa của một chương trình máy tính đặc biệt mà điện thoại nói trên sử dụng. được kết nối thông qua đầu nối công nghệ JTAG. Nói cách khác, giao diện phải tương ứng với các nhiệm vụ đang được giải quyết. Nhưng đối với máy tính cá nhân, giao diện thực sự mang tính định mệnh. Xét cho cùng, điểm khác biệt quan trọng nhất của chúng so với các máy tính được sử dụng chung là việc cung cấp độc quyền tất cả tài nguyên cho một người dùng. Điều này không thể ảnh hưởng đến cách giải quyết vấn đề giao diện. Nhiều máy tính cá nhân đầu tiên được bán dưới dạng hộp giải mã TV, chẳng hạn như Sinclair. Tức là không có TV thì chưa phải là máy tính nhưng sau khi kết nối thì máy tính đã có thể sử dụng được. Điều này cho thấy tầm quan trọng của giao diện.

Thành công thương mại của PC phụ thuộc rất lớn vào cách giải quyết vấn đề giao diện và mức độ dễ dàng sử dụng giao diện này đối với những người tiêu dùng chưa qua đào tạo. Nếu những chiếc PC đầu tiên có giao diện văn bản giống như máy tính lớn (nói chung, JCL được nhiều người gọi là “ngôn ngữ chim” vì tính siêu phức tạp của nó), thì rất có thể, ngay khi chúng xuất hiện, những thiết bị này sẽ chìm vào quên lãng . Nhưng điều này đã không xảy ra chính xác nhờ giao diện đồ họa hấp dẫn và dễ tiếp cận. Lúc đầu, thứ chính nằm ở chính màn hình, tức là ở ống tivi. Có lẽ mọi người bị thu hút bởi thực tế là nó có thể được sử dụng để xem không chỉ tin tức và phim ảnh. Nhưng sau đó công ty Xerox đã thử nghiệm thành công việc huấn luyện các loài động vật có vú thông minh có tư thế thẳng đứng cách sử dụng chuột bằng một nút bấm. Đây thực sự là một sự kiện mang tính cách mạng. Và mặc dù “chuột” đã cố gắng tăng số lượng nút, nhưng phương pháp tương tác với PC được đề xuất bằng cách nhấn các nút chuột hoặc “nhấp chuột” đã trở nên phổ biến đối với người dùng máy tính. Và theo cách tương tự, anh ta chắc chắn đã buộc các quản trị viên hệ thống có quan điểm tiêu cực đối với quá trình này - “nhấp chuột”.

Giao diện

Nếu quản trị viên hệ thống thông báo cho bạn qua điện thoại,

cần nhấn nút nào, đọc báo.

Thực ra tôi không muốn bạn làm gì cả.

Tại sao những “con chuột” lại không phù hợp với người quản trị hệ thống đến vậy? Nó không nói nhiều về người thao tác chuột mà là về các tính năng của giao diện đồ họa được sử dụng vào thời điểm đó. Vì chỉ số chính về mức độ quản trị hệ thống đã trở thành số lượng máy tính được phục vụ bởi một nhân viên, nên các phương tiện đảm bảo tự động hóa hoạt động của hệ thống, cài đặt, cấu hình và quản lý hệ điều hành đã trở nên cực kỳ quan trọng. Và giải pháp cho vấn đề này liên quan chặt chẽ đến việc cung cấp tất cả các tác phẩm tương tự thông qua các kênh truy cập từ xa. Đương nhiên, đối với các nền tảng có giao diện văn bản, cả vấn đề thứ nhất và thứ hai đều dễ dàng giải quyết. Có những ngôn ngữ kịch bản đơn giản giúp lập trình rất nhanh bất kỳ hoạt động điều khiển hệ điều hành nào và các phương tiện cung cấp quyền truy cập từ xa ở chế độ văn bản được cung cấp ở trình độ công nghệ truyền thông khá yếu. Ví dụ: đây là cách giải quyết các vấn đề quản trị trong dòng hệ điều hành UNIX. Nhưng trong các hệ điều hành thiên về đồ họa, mọi việc không đơn giản như vậy. Đầu tiên, giao diện đồ họa, theo quan điểm ngữ nghĩa, hoàn toàn được xác định bởi chương trình ứng dụng. Nghĩa là, phản ứng khi kích hoạt nút “OK” trong menu đồ họa phụ thuộc vào giai đoạn của cuộc đối thoại và mục đích của chương trình phục vụ nó. Thứ hai, việc cho phép làm việc từ xa trong môi trường đồ họa đòi hỏi nhiều băng thông từ các kênh liên lạc hơn là làm việc trong giao diện văn bản. Tất cả điều này dẫn đến thực tế là việc tự động hóa cài đặt đồ họa trên thực tế đã không phát triển. Chà, có lẽ do chính nhà phát triển hệ điều hành, trong trường hợp này là Microsoft, bằng cách tăng độ phức tạp của các menu lồng nhau. Và đối với các quản trị viên hệ thống, làm việc trong môi trường Microsoft Windows đã trở thành một hoạt động rèn luyện cơ cổ tay vô tận, vì khả năng của họ thực tế không khác gì những khả năng được cung cấp cho người dùng thông thường, chỉ có tiêu đề và nội dung của các cửa sổ thả xuống là thay đổi. Điều này đã đóng một vai trò tích cực - một máy thao tác kiểu chuột gần đây đã chuyển đổi từ một chiếc xe lăn nguyên thủy với cánh quạt và một quả bóng cao su thành một thiết bị công nghệ cao dựa trên máy quét quang học (laser) và được trang bị kênh vô tuyến để liên lạc với một chiếc máy tính. Nhưng rõ ràng là ngay cả khi con chuột được chuyển đổi thành bộ cấy có giao diện máy tính, điều này vẫn không cho phép một quản trị viên hệ thống có thể phục vụ đồng thời số lượng máy tính lớn hơn, theo yêu cầu của ngành CNTT hiện đại, tuân theo các khuôn khổ TCO nghiêm ngặt: http://www .telecominfo.ru/?t=2012, bảng 2. Và sự tăng trưởng về số lượng máy tính người dùng được phục vụ đồng thời (Tương đương toàn thời gian - FTE) đã bị cản trở do sự kém phát triển của các công cụ tự động hóa để làm việc hệ thống trong các hệ điều hành được xây dựng trên cơ sở giao diện đồ họa.

Điều này không có nghĩa là mọi thứ chỉ bị giới hạn bởi các vấn đề công nghệ. Thực tế là trên nền tảng MS Windows, vốn từ lâu không có sự thay thế cho máy tính cá nhân, chủ yếu sử dụng các sản phẩm phần mềm độc quyền. Và việc giải quyết vấn đề cài đặt hàng loạt của họ đi ngược lại với yêu cầu tuân thủ thủ tục đăng ký bắt buộc (hợp pháp hóa, kích hoạt) cho mỗi bản sao của chương trình. Thông thường, quy trình đăng ký bản sao được bao quanh bởi giao thức bảo vệ đặc biệt và không phải lúc nào cũng có các bước kỹ thuật, ví dụ: bạn cần đồng ý với giấy phép, nhập số sê-ri từ hộp hoặc CD, lắp đĩa khóa vào khay ổ đĩa, kích hoạt qua Internet và nhiều hơn thế nữa mà một nhà phát triển quan tâm đến việc kiếm lợi nhuận. Ngay cả bản thân hệ điều hành MS Windows trong phiên bản đóng hộp của nó cũng không nhằm mục đích tạo các hệ thống cài đặt tự động dựa trên nó. Việc tự động sao chép một bản sao có ích gì nếu theo kế hoạch tiếp thị, tất cả các bản sao đã bán của hệ thống này đều yêu cầu thủ tục đăng ký gốc cho mỗi bản sao. Tất nhiên, vẫn còn những sơ hở và những sự dè dặt khác. Chà, những “cha đẻ” của “kim tự tháp” phần mềm này không thể đơn giản quy toàn bộ tổ chức quản trị hệ thống xuống vị trí “người Enikey”. Do đó, có cái gọi là phiên bản “công ty” cho phép cài đặt nối tiếp, giống như sao chép cùng một quy trình cài đặt vào nhiều máy tính. Đúng, để trả đũa, các hạn chế khác đã được đưa ra ở đó, chẳng hạn như về việc cài đặt các bản cập nhật. Nhưng không phải mọi nhà sản xuất phần mềm đều có đủ khả năng tự do thay thế như vậy để tự động hóa các hoạt động cài đặt sản phẩm của riêng họ thường lệ. Do đó, một vấn đề khác với việc tự động hóa công việc trong môi trường GUI là nhiều sản phẩm phần mềm không nhằm mục đích cài đặt và cấu hình tự động do thiết kế, vì chúng yêu cầu các hành động “con người” trong quá trình cài đặt.

Hoạt hình thay vì tự động hóa

Nếu bạn thấy thông báo “Bạn có chắc chắn không?”

Hãy nhấp vào “Có” càng nhanh càng tốt!

Chết tiệt nếu bạn không chắc chắn

bạn sẽ không làm điều đó phải không?

Và bây giờ tất cả những vấn đề này đã được giải quyết. Một công cụ tự động hóa các hoạt động trong môi trường cửa sổ đồ họa đã xuất hiện, mô phỏng công việc của người vận hành con người, được gọi là AutoIt và ban đầu nhằm mục đích tự động hóa các hoạt động cài đặt chương trình. Hiện tại bạn có thể sử dụng phiên bản 2.64, tải xuống từ http://www.hiddensoft.com/AutoIt, và phiên bản 3.1.0, có tại: http://www.autoitscript.com/autoit3/index.php. theo các giấy phép mở. Phiên bản 2.64, do Jonathan Bennet viết, có thể được sử dụng không hạn chế trong các dự án phi thương mại, nhưng trong các dự án thương mại, cần phải bao gồm liên kết đến trang web của nhà phát triển cùng với sản phẩm. Phiên bản 3.1.0, được tác giả bởi Jonathan Bennett nói trên cùng với Nhóm AutoIt, đã tuân theo GNU GPL, điều này cho thấy sự trưởng thành của phương pháp này và việc không thể tiếp tục loại bỏ chương trình này khỏi lưu hành tự do bằng cách chuyển nó theo một số giấy phép đóng. Đối với cả hai phiên bản, ngoài tệp Trợ giúp đính kèm bằng tiếng Anh, còn có phiên bản tiếng Nga của tài liệu ở định dạng chm, do Valery Ivanov chuẩn bị.

Nếu chúng ta xem xét chương trình này một cách tách biệt với bối cảnh của ứng dụng dự định của nó, thì nó chỉ là một phương tiện chặn việc phân tích trạng thái của giao diện cửa sổ và mô phỏng các thông báo cần thiết, được cho là thay mặt cho người vận hành. Nó gần giống như một hình ảnh động trình diễn. Nhưng từ quan điểm của một cỗ máy ngôn ngữ, chẳng hạn như Unix bash, diễn giải một tập lệnh nhất định, tất cả các hành động trông giống như phép nhân. Chỉ có điều điều này là không ai nhận thấy nếu nó không xảy ra trên màn hình mà trong bảng điều khiển văn bản. Và đặc biệt là vì trình thông dịch văn bản có khả năng ẩn và chuyển hướng các luồng ký tự đã xử lý. Nhưng chúng ta cũng có thể đặt tên cho một văn bản tương tự hoàn chỉnh từ thế giới *nix với chương trình được thảo luận ở đây. Đây là một công cụ mong đợi nổi tiếng. Nó cho phép bạn thay thế giao tiếp bằng thiết bị đầu cuối văn bản cho một số chương trình ứng dụng và do đó tự động hóa công việc của người vận hành bằng cách mô phỏng quy trình làm việc của anh ta. Điều này thường được sử dụng để tự động hóa công việc với môi trường tương tác, ví dụ như với ftp. Đáng chú ý, cả Expect và AutoIt đều bao gồm một công cụ hỗ trợ việc tạo tập lệnh bằng cách ghi lại dữ liệu giao diện thực đã được ghi lại. Tất nhiên, trong AutoIt đây vẫn là một công cụ thủ công còn non nớt hiển thị các đặc điểm của thành phần GUI đã chọn trong một cửa sổ phương thức.

Từ quan điểm công nghệ, AutoIt chỉ đơn giản sử dụng các khả năng vốn có trong GUI API. Kết quả tương tự có thể đạt được bằng cách sử dụng Visual Basic hoặc thậm chí C++. Nhưng đó chính là điểm khác biệt: sử dụng AutoIt cho phép bạn tránh lập trình bằng các ngôn ngữ “nặng”. Bởi vì quản trị viên hệ thống không phải là lập trình viên, anh ta không cần phải viết chương trình mà chỉ giải quyết các vấn đề tự động hóa tiêu chuẩn phát sinh trong quá trình làm việc.

Vì vậy, làm thế nào nó hoạt động? Một công cụ như vậy phải có khả năng nhập tất cả dữ liệu cần thiết vào môi trường mà nó kiểm soát, phân tích phản hồi và trong phạm vi khả năng ngôn ngữ tiêu chuẩn, tổ chức thực hiện tương tác quy trình được mô tả. Tất cả! Nếu giao diện là văn bản, đúng với mong đợi, thì hệ thống như vậy phải nhập chuỗi chuỗi, nhận và phân tích chuỗi phản hồi, đồng thời tùy thuộc vào kết quả và khả năng cú pháp của nó, tổ chức một số quy trình thuật toán. Nếu giao diện là đồ họa thì các thông số cụ thể về GUI sẽ được thêm vào phần trên. Dữ liệu đầu vào bao gồm kiểm soát hành vi của cửa sổ (phát hiện, kích hoạt, thu nhỏ, đóng, v.v.), dấu trang và các thành phần giao diện cửa sổ khác, di chuyển chuột và nhấp chuột vào nút. Theo cách tương tự, các sự kiện tạo, kích hoạt và các hoạt động khác với windows sẽ được thêm vào dữ liệu nhận được. Chà, phần còn lại hoàn toàn được xác định bởi thiết kế của ngôn ngữ tích hợp. Phiên bản 2.* sử dụng ngôn ngữ có cú pháp giống như tập hợp được phân cách bằng dấu phẩy và các câu lệnh điều khiển nguyên thủy dựa trên các nhánh có điều kiện. Ở phiên bản thứ 3, nó đã là ngôn ngữ lập trình gần như hoàn chỉnh với các cấu trúc điều khiển quen thuộc, bao gồm các chức năng và do đó, goto không còn được sử dụng trong phiên bản này. Cả hai phiên bản đều cho phép bạn diễn giải các toán tử được viết trong một tệp tập lệnh riêng biệt và tạo một phiên bản có thể thực thi được dựa trên các thành phần thời gian chạy. Nhưng phiên bản 3.* nặng hơn gấp rưỡi. Do đó, các tệp thực thi dựa trên phiên bản 2 có kích thước 40 KB và phiên bản 3.* - từ 116 KB. Có lẽ là do số lượng chức năng tích hợp nhiều hơn. Ngoài những gì đã được liệt kê, phiên bản 3.* còn có thời gian chờ tích hợp trong câu lệnh chờ, cho phép bạn giải quyết vấn đề "treo" các ứng dụng không ổn định, nhưng trong thực tế tự động hóa các hành động tiêu chuẩn, bạn có thể thực hiện thành công mà không cần điều này . Nói cách khác, các giải pháp được xây dựng trên phiên bản 2.* vẫn phù hợp với 90% vấn đề được giải quyết bằng AutoIt, nhưng phiên bản 3.* cho phép bạn tạo các ứng dụng chính thức, nếu cần. Thậm chí còn có những ví dụ về các chương trình chơi game trong tài nguyên Internet dành riêng cho AutoIt.

Cài đặt phần mềm

Nếu bạn đang tham gia các khóa học máy tính buổi tối,

hãy chắc chắn kiểm tra kiến ​​thức của bạn về

và tất cả máy tính của hàng xóm.

Chúng tôi thích làm việc đến tận 2h30 sáng để sửa chữa nó.

Tôi nghĩ lý thuyết là đủ. Tiếp theo, chúng tôi sẽ xem xét các ví dụ khác nhau về việc sử dụng thực tế công nghệ được đề xuất. Mục tiêu ở đây không phải là viết những chương trình lớn và phức tạp. Điều chính là đây là những kịch bản và chương trình khả thi và thiết thực. Một số trong số chúng sẽ được thảo luận trong văn bản, một số khác được chỉ ra đơn giản trong các liên kết và dành cho nghiên cứu độc lập. Nhiều trong số chúng sẽ được sử dụng trong ví dụ toàn diện cuối cùng về việc tạo đĩa để cài đặt tự động MS Windows. Bắt đầu từ đơn giản nhất, các chương trình được đề xuất sẽ dần trở nên phức tạp hơn, điều này không ngăn cản được, sau khi đọc toàn bộ bài viết, quay lại từ đầu và làm lại các chương trình đã xem xét bằng cách sử dụng toàn bộ kho vũ khí của AutoIt.

Ví dụ thực tế đầu tiên, chúng ta hãy xem xét việc tự động hóa quá trình cài đặt AutoIt. Vì chúng tôi có hai bản phát hành hoạt động cùng lúc, thứ 2 và thứ 3, nên chúng tôi sẽ giải quyết vấn đề tự động cài đặt AutoIt phiên bản 3 bằng tập lệnh dành cho phiên bản 2. Để thực hiện việc này, hãy cài đặt AutoIt phiên bản 2 trên hệ thống và tạo tệp setup_autoit3.aut bằng trình soạn thảo văn bản Notepad. Tiện ích mở rộng "aut" là tiêu chuẩn cho tập lệnh AutoIt2. Hãy viết dãy toán tử sau:

SetTitleMatchMode, 2

DetectHiddenText, đang bật

// xóa tất cả windows khỏi màn hình

WinTối thiểu hóaTất cả

// chờ giây lát

Ngủ đi, 1000

Chạy, autoit-v3-setup.exe

// hoàn thành

Lối ra

Chương trình rất ngắn này sẽ trở thành nền tảng cho kịch bản được phát triển. Tất cả các tuyên bố đều được chú thích và nội dung hoàn toàn rõ ràng. Nhưng trước khi khởi chạy nó, hãy tải xuống “AutoIt Reveal Mode” - một công cụ đặc biệt để xem thông tin ẩn trong các cấu trúc được liên kết với các cửa sổ trong MS Windows. Sau đó chúng tôi chạy tập lệnh và chờ hoàn thành. Sau khi thông báo hoàn thành xuất hiện, hãy đóng nó bằng cách nhấp vào nút “OK” và mở rộng lại tất cả các cửa sổ. Nó sẽ trông như thể hiện trong hình.

Xin lưu ý ở đây rằng cửa sổ AutiIt v2.64 hiển thị toàn bộ danh sách các dòng văn bản từ cửa sổ đang hoạt động, bắt đầu bằng tiêu đề của nó. Chính những dòng này mà trình cài đặt sẽ tiếp tục “bắt” trong tập lệnh của chúng tôi và vì nút Tiếp theo đã được đánh dấu là đang hoạt động, ngay khi tập lệnh chờ cửa sổ có tên “AutoIt v3.1.0. Setup", bạn có thể gửi Enter tới cửa sổ này, thao tác này sẽ dẫn đến việc nhấn nút hoạt động, tức là chuyển sang màn hình trình cài đặt tiếp theo. Đây là nội dung của giai đoạn phát triển tiếp theo, phức tạp hơn:

// thiết lập chế độ phát hiện văn bản ẩn trong windows

SetTitleMatchMode, 2

DetectHiddenText, đang bật

// xóa tất cả windows khỏi màn hình

WinTối thiểu hóaTất cả

// chờ giây lát

Ngủ đi, 1000

// bắt đầu cài đặt từ cùng thư mục

Chạy, autoit-v3-setup.exe

Gửi, (ENTER)

// hiển thị cửa sổ có thông báo

MsgBox, 0, AutoIt, Đã thiết lập xong

// hoàn thành

Lối ra

Để kiểm tra, hãy hủy cài đặt và chạy lại tập lệnh.

Sau khi dừng, hãy hoàn thành lại tập lệnh của chúng ta, phóng to tất cả các cửa sổ và phân tích kết quả hiển thị trong hình.

Ở đây, tương tự như lần ra mắt đầu tiên, chúng ta sẽ đi theo các khu vực được đánh dấu màu đỏ. Nhiệm vụ là "bắt" một cửa sổ mới và kích hoạt hành động mong muốn. Nhưng cửa sổ có cùng tên với cửa sổ trước! Sau đó, chúng tôi nhìn vào cửa sổ chặn để xem những giá trị chuỗi nào khác có sẵn cho chúng tôi. Tìm dòng “Thỏa thuận cấp phép”. Dòng này phản ánh tốt nhất ý nghĩa cụ thể của cửa sổ kết quả. Và vì ở đây một lần nữa, hành động mong muốn được đặt ngay lập tức theo mặc định, nên sau khi phát hiện cửa sổ này, bạn cần gửi lại Enter cho nó. Thay đổi văn bản như sau:

// thiết lập chế độ phát hiện văn bản ẩn trong windows

SetTitleMatchMode, 2

DetectHiddenText, đang bật

// xóa tất cả windows khỏi màn hình

WinTối thiểu hóaTất cả

// chờ giây lát

Ngủ đi, 1000

// bắt đầu cài đặt từ cùng thư mục

Chạy, autoit-v3-setup.exe

// đợi cửa sổ mong muốn và nhấn Next

Cài đặt WinWaitActive, AutoIt v3.1.0

Gửi, (ENTER)

Gửi, (ENTER)

// hiển thị cửa sổ có thông báo

MsgBox, 0, AutoIt, Đã thiết lập xong

// hoàn thành

Lối ra

Xin lưu ý cú pháp của toán tử WinWaitActive đã thay đổi như thế nào, vì bây giờ bạn cần xác định cửa sổ không phải bằng tiêu đề của nó mà bằng văn bản bên trong, dòng được phát hiện được viết trong trường thứ ba. Hãy dừng cài đặt lại và thực hiện các thao tác tương tự như lần khởi chạy trước. Sau khi dừng, bạn sẽ nhận được kết quả tương tự như trong hình.

Mọi thứ ở đây tương tự như bước thứ hai trong quá trình phát triển tập lệnh tự động hóa. Chúng tôi tìm dòng để phát hiện cửa sổ và xác định nút nào cần nhấn. Chúng tôi viết mọi thứ thành một kịch bản. Sự phát triển của nhịp thứ tư diễn ra theo cách tương tự. Trên thực tế, bạn có thể chạy toàn bộ quá trình cài đặt theo một vòng lặp liên tục và chỉ cần nhớ các dòng xác định từng cửa sổ trình cài đặt và ghi lại các mã khóa được nhập trong quá trình này. Lập trình trong AutoIt cực kỳ dễ dàng. Kết quả là chương trình sau:

// thiết lập chế độ phát hiện văn bản ẩn trong windows

SetTitleMatchMode, 2

DetectHiddenText, đang bật

// xóa tất cả windows khỏi màn hình

WinTối thiểu hóaTất cả

// chờ giây lát

Ngủ đi, 1000

// bắt đầu cài đặt từ cùng thư mục

Chạy, autoit-v3-setup.exe

// đợi cửa sổ mong muốn và nhấn Next

Cài đặt WinWaitActive, AutoIt v3.1.0

Gửi, (ENTER)

// tương tự, chờ thỏa thuận cấp phép

WinWaitActive, Thỏa thuận cấp phép

Gửi, (ENTER)

WinWaitActive, chọn vị trí cài đặt

Gửi, (ENTER)

// hoàn tất cài đặt

WinWaitActive, Click Finish để đóng

Gửi, (ENTER)

// hiển thị cửa sổ có thông báo

MsgBox, 0, AutoIt, Đã thiết lập xong

// hoàn thành

Lối ra

Chương trình này cài đặt AutoIt v3 ở chế độ tự động. Nó có thể được chuyển đổi thành mã thực thi thay vì mã được giải thích. Nhưng tôi đề xuất chạy nó hoàn toàn và sau đó chuyển sang làm việc trong AutoIt v3, phiên bản này sẽ được cài đặt vào thời điểm này. Trước hết, chúng tôi sẽ sử dụng tiện ích để chuyển đổi các bài kiểm tra từ phiên bản 2 sang phiên bản 3 “v2 to v3 Converter”. Cách tiếp cận này cho phép bạn ngay lập tức có được một chương trình đúng cú pháp. Đây là kết quả:

// V2.64 tới V3.0.100 (Phiên bản 1.0.6)

// Chuyển đổi bằng AutoItV2toV3

// (C) Bản quyền 2004 J-Paul Mesnage.

// thiết lập chế độ phát hiện văn bản ẩn trong windows

AutoItSetOption("WinTitleMatchMode", 2)

AutoItSetOption("WinDetectHiddenText", 1)

// xóa tất cả windows khỏi màn hình

WinMinimizeAll()

// chờ giây lát

Ngủ (1000)

// bắt đầu cài đặt từ cùng thư mục

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

// đợi cửa sổ mong muốn và nhấn Next

WinWaitActive("Cài đặt AutoIt v3.1.0")

Gửi("(ENTER)")

// tương tự, chờ thỏa thuận cấp phép

WinWaitActive("", "Thỏa thuận cấp phép")

Gửi("(ENTER)")

// cửa sổ lựa chọn vị trí cài đặt

WinWaitActive("", "Chọn vị trí cài đặt")

Gửi("(ENTER)")

// hoàn tất cài đặt

WinWaitActive("", "Nhấp vào Kết thúc để đóng")

Gửi("(ENTER)")

// hiển thị cửa sổ có thông báo

$__msgbox = MsgBox (0, "AutoIt", "Đã thiết lập xong")

// hoàn thành

Lối ra

Như có thể thấy từ văn bản, cú pháp mới không mang lại bất kỳ thay đổi đáng kể nào. Sau khi chuyển đổi, tập lệnh được đặt trong tệp setup_autoit3.au3, phần mở rộng của tệp này có giá trị tiêu chuẩn cho phiên bản 3. Nhưng chương trình làm mọi thứ giống nhau. Nếu bạn chuyển đổi nó thành mã thực thi bằng trình biên dịch có sẵn trong phiên bản 3, thì sau khi xóa AutiIt v3 khỏi hệ thống, bạn có thể cài đặt lại nó bằng chương trình mới. Đây sẽ là một kiểm tra hiệu suất.

Nhưng cũng như không phải tất cả công việc của quản trị viên hệ thống đều liên quan đến việc cài đặt phần mềm ứng dụng, khả năng của AutoIt không chỉ giới hạn ở việc phục vụ các chương trình như setup.exe. Nhưng nhiều hơn về điều đó trong phần tiếp theo.

» Tự động

Tổng quan

AutoIt v3 là một ngôn ngữ kịch bản giống BASIC phần mềm miễn phí được thiết kế để tự động hóa GUI Windows và tập lệnh chung. Nó sử dụng kết hợp các thao tác nhấn phím mô phỏng, di chuyển chuột và thao tác cửa sổ/điều khiển để tự động hóa các tác vụ theo cách không thể thực hiện được hoặc đáng tin cậy bằng các ngôn ngữ khác (ví dụ: VBScript và SendKeys). AutoIt cũng rất nhỏ, khép kín và sẽ chạy trên tất cả các phiên bản Windows có sẵn mà không cần "thời gian chạy" gây khó chịu!

AutoIt ban đầu được thiết kế dành cho các tình huống “triển khai” PC để tự động hóa và định cấu hình hàng nghìn PC một cách đáng tin cậy. Theo thời gian, nó đã trở thành một ngôn ngữ mạnh mẽ hỗ trợ các biểu thức phức tạp, chức năng người dùng, vòng lặp và mọi thứ khác mà những người viết kịch bản kỳ cựu mong đợi.

  • Cú pháp giống BASIC dễ học
  • Mô phỏng thao tác gõ phím và di chuyển chuột
  • Thao tác với các cửa sổ và tiến trình
  • Tương tác với tất cả các điều khiển cửa sổ tiêu chuẩn
  • Các tập lệnh có thể được biên dịch thành các tệp thực thi độc lập
  • Tạo giao diện người dùng đồ họa (GUI)
  • Hỗ trợ COM
  • Biểu thức chính quy
  • Gọi trực tiếp các hàm DLL và Windows API bên ngoài
  • Các hàm RunAs có thể viết được
  • Tệp trợ giúp chi tiết và các diễn đàn hỗ trợ dựa vào cộng đồng lớn
  • Tương thích với Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10
  • Hỗ trợ Unicode và x64
  • Ký điện tử để yên tâm
  • Hoạt động với Kiểm soát tài khoản người dùng (UAC) của Windows Vista

AutoIt được thiết kế nhỏ nhất có thể và độc lập, không yêu cầu tệp .dll bên ngoài hoặc mục đăng ký, giúp sử dụng an toàn trên Máy chủ. Các tập lệnh có thể được biên dịch thành các tệp thực thi độc lập với Auto2Exe.

Cũng được cung cấp là phiên bản COM và DLL kết hợp của AutoIt được gọi là AutoItX cho phép bạn thêm các tính năng độc đáo của AutoIt vào ngôn ngữ lập trình hoặc tập lệnh yêu thích của riêng bạn!

Trên hết, AutoIt tiếp tục là MIỄN PHÍ– nhưng nếu bạn muốn hỗ trợ thời gian, tiền bạc và công sức dành cho dự án và lưu trữ web thì bạn có thể quyên góp.

Tải xuống

Đặc trưng

Dưới đây là một số tính năng độc đáo của AutoIt.

Bộ cú pháp và hàm phong phú giống cơ bản

AutoIt có cú pháp giống BASIC, nghĩa là hầu hết những người đã từng viết tập lệnh hoặc sử dụng ngôn ngữ cấp cao đều có thể hiểu nó một cách dễ dàng.

Mặc dù ban đầu nó là một công cụ tự động hóa đơn giản, nhưng AutoIt hiện có các chức năng và tính năng cho phép nó được sử dụng như một ngôn ngữ lập trình cho mục đích chung (tất nhiên là có tính năng tự động hóa tuyệt vời!). Các tính năng ngôn ngữ bao gồm:

  • Các phần tử cấp cao thông thường dành cho hàm, vòng lặp và phân tích cú pháp biểu thức
  • Một số lượng đáng kinh ngạc các hàm xử lý chuỗi một công cụ biểu thức chính quy tương thích với Perl (sử dụng thư viện PCRE).
  • Hỗ trợ COM
  • Gọi Win32 và API DLL của bên thứ ba

Trình chỉnh sửa tích hợp với tính năng đánh dấu cú pháp

AutoIt đi kèm với một phiên bản SciTe “nhỏ gọn” tùy chỉnh giúp việc chỉnh sửa tập lệnh trở nên dễ dàng. Người dùng cũng có thể bao gồm các công cụ bổ sung để làm cho mọi việc trở nên dễ dàng hơn.

Độc lập và nhỏ

AutoIt là một ứng dụng rất nhỏ và độc lập, không phụ thuộc vào thời gian chạy lớn như .NET hoặc VB. Tất cả những gì bạn cần để chạy các tập lệnh AutoIt là tập lệnh thực thi AutoIt chính (AutoIt3.exe) và tập lệnh. Các tập lệnh cũng có thể được mã hóa thành các tệp thực thi độc lập bằng trình biên dịch tập lệnh tích hợp Auto2Exe.

Hỗ trợ quốc tế và 64-bit

AutoIt hoàn toàn nhận biết Unicode và cũng bao gồm các phiên bản x64 của tất cả các thành phần chính! Bạn có thể nói như vậy về bao nhiêu ngôn ngữ lập trình miễn phí khác?

Mô phỏng phím và chuột

Đã dành nhiều thời gian để tối ưu hóa các chức năng mô phỏng phím và chuột để chính xác nhất có thể trên tất cả các phiên bản Windows. Tất cả các thói quen sử dụng chuột và bàn phím đều có khả năng cấu hình cao cả về “tốc độ” mô phỏng và chức năng.

Quản lý cửa sổ và điều khiển

Bạn có thể mong đợi di chuyển, ẩn, hiển thị, thay đổi kích thước, kích hoạt, đóng và thực hiện hầu hết những gì bạn muốn với windows. Windows có thể được tham chiếu theo tiêu đề, văn bản trên cửa sổ, kích thước, vị trí, lớp và thậm chí cả các thẻ điều khiển API Win32 nội bộ.

Trực tiếp nhận thông tin và tương tác với các hộp chỉnh sửa, hộp kiểm, hộp danh sách, tổ hợp, nút, thanh trạng thái mà không có nguy cơ bị mất phím. Thậm chí hoạt động với các điều khiển trong cửa sổ không hoạt động!

Giao diện người dùng đồ họa (GUI)

AutoIt v3 cũng sẽ cho phép bạn tạo một số GUI phức tạp – giống như những GUI bên dưới!

Và nhiều, nhiều hơn nữa.

Có thể bạn sẽ muốn truy cập trang tải xuống ngay bây giờ…



1. AutoIt3 dùng để làm gì?

AutoIt được thiết kế cho các nhiệm vụ tự động hóa nói chung. Để đạt được mục tiêu này, một ngôn ngữ lập trình giống BASIC được tiêu chuẩn hóa đã được tạo ra. Điều này có nghĩa là nếu bạn đã quen thuộc với bất kỳ ngôn ngữ lập trình tập lệnh nào thì rất có thể bạn sẽ học AutoIt v3 một cách dễ dàng.

2. Học AutoIt có khó không?

Học AutoIt3 rất dễ, hãy xem ví dụ về cách gọi lệnh

9. Tại sao khi tôi cố gắng hiển thị giá trị của một biến bằng cấu trúc "Variable value: $variable", tôi không nhận được kết quả như mong đợi?

Nếu bạn có một biến có tên $msg và bạn muốn xuất nó thành MsgBox thì những điều sau đây sẽ KHÔNG hoạt động:

12. Làm cách nào để kết thúc tập lệnh khi tôi nhấn phím nóng?

Nếu bạn muốn chấm dứt tập lệnh khi nhấn tổ hợp phím cụ thể, hãy sử dụng chức năng HotKeySet, chức năng này sẽ chạy chức năng do người dùng chỉ định khi nhấn tổ hợp phím đã chỉ định. Hàm do người dùng xác định này phải chứa từ khóa Thoát.

Dưới đây là đoạn mã chấm dứt tập lệnh khi nhấn tổ hợp phím CTRL+ALT+x

13. Làm cách nào tôi có thể sử dụng biểu tượng của riêng mình cho tập lệnh được biên dịch?

Bạn cần chạy chương trình biên dịch tập lệnh (không chỉ chọn “Biên dịch” khi nhấp chuột phải vào tệp tập lệnh). Trang trợ giúp này mô tả cách trình biên dịch hoạt động chi tiết hơn. Đồng thời sử dụng AutoIt3Wrapper để chỉ định biểu tượng trong chính tập lệnh bằng các lệnh.

14. Làm cách nào tôi có thể ngăn bản sao thứ hai của tập lệnh của mình chạy?

Sử dụng hàm _Singleton(). Xem chủ đề Trợ giúp về Hàm do người dùng xác định (UDF) để biết thêm thông tin chi tiết về cách hoạt động và cách sử dụng hàm này.

15. Hạn chế kỹ thuật của AutoIt3 là gì?

Dưới đây bạn sẽ tìm thấy những hạn chế kỹ thuật hiện tại áp dụng cho AutoIt. Hãy nhớ rằng một số giới hạn chỉ mang tính lý thuyết và bạn có thể sẽ đạt đến giới hạn hiệu suất hoặc bộ nhớ trước khi giới hạn được kích hoạt. Cũng xem phần " "

Nghĩa Sự miêu tả
2147483647 Độ dài tối đa của một biến chuỗi. Xem xét giới hạn 2 GB cho mỗi quy trình và các ký tự trong bộ nhớ ở dạng Unicode, điều này làm giảm đáng kể giá trị được chỉ định
không giới hạn Số lượng cửa sổ GUI tối đa
5100 Mức lồng tối đa của lệnh gọi hàm đệ quy
không giới hạn Số lượng chức năng người dùng tối đa
không giới hạn Số lượng biến tối đa được sử dụng trong tập lệnh

Dãy số ăn dấu phẩy động với độ chính xác lên tới 15 chữ số thập phân

Phạm vi số nguyên: loại số nguyên có dấu 64 bit

0x7FFFFFFFF

Phạm vi thập lục phân: số nguyên có dấu 32 bit
64 Số lượng kích thước tối đa trong mảng
16 triệu Tổng số phần tử trong mảng

16. Tại sao trong ví dụ về tệp trợ giúp lại thiếu hình ảnh?

Đây lẽ ra phải là nút “Mở” để mở các ví dụ trợ giúp trong cửa sổ soạn thảo. Loại lỗi này xảy ra khi thư viện hhctrl.ocx được đăng ký không chính xác trong hệ thống hoặc tệp này bị hỏng.
Hãy thử đăng ký bằng cách chạy lệnh "regsvr32 hhctrl.ocx" (Chạy hộp thoại qua Win+R) hoặc kiểm tra khả năng bảo trì của tệp.