Như đã đề cập ở trên, tác vụ được lên lịch là những gì bạn đang tìm kiếm. Để chạy tập lệnh dưới dạng dịch vụ, hãy đọc:
Q4. Làm cách nào để chạy tập lệnh của tôi dưới dạng dịch vụ? Đây cũng là một câu hỏi có nhiều câu trả lời và không có câu trả lời nào là cách duy nhất để thực hiện. Câu hỏi đầu tiên là bạn có muốn cài đặt dịch vụ trên các máy tính khác ngoài máy tính của bạn hay không.
A1. If you only wish to install the service on your own computer, The easiest way to do this is to use Pirmasoft RunAsSvc. This program makes services easy to install and easy to remove when necessary.
A2. If you wish to make the service available to anyone running your script, you can use SRVANY.EXE and ServiceControl.au3. You can then use this code to install your script as a service:
#include "ServiceControl.au3"
$servicename = "MyServiceName"
_CreateService("", $servicename, "My AutoIt Script", "C:\Path_to_srvany.exe", "LocalSystem", "", 0x110)
RegWrite("HKLM\SYSTEM\CurrentControlSet\Services\" & $servicename & "\Parameters", "Application", "REG_SZ", @ScriptFullPath)
or use the following code to delete this service:
#include "ServiceControl.au3"
$servicename = "MyServiceName"
_DeleteService("", $servicename)
Có một caveat để thiết lập AutoIt như một dịch vụ. Nếu dịch vụ không được cài đặt bằng mã trên, nó phải có cài đặt "cho phép dịch vụ tương tác với máy tính để bàn" hoặc các chức năng tự động hóa khác như chức năng Điều khiển * hoặc Win * sẽ không hoạt động. Để đảm bảo dịch vụ không thực sự có khung cảnh này, sử dụng đoạn mã sau: RegWrite ("HKLM \ SYSTEM \ CurrentControlSet \ Services [ServiceName]", "Loại", "REG_DWORD", 0x110)
Taken từ FAQ chủ đề trên Diễn đàn AutoIt. www.autoitscript.com/forum/index.php?showtopic=37289)
Nguồn
2009-05-20 09:51:42