AutoItスクリプトを使用して、GUI アプリケーションを開始および自動化しています。1 時間ごとにスクリプトをアクティブにする必要があります。
AutoIt スクリプト (GUI でアクションを実行する) は、サービスとして使用すると機能しますか? スクリプトはサービスとして実行されます (スケジュールされたタスクではありません)。
AutoItスクリプトを使用して、GUI アプリケーションを開始および自動化しています。1 時間ごとにスクリプトをアクティブにする必要があります。
AutoIt スクリプト (GUI でアクションを実行する) は、サービスとして使用すると機能しますか? スクリプトはサービスとして実行されます (スケジュールされたタスクではありません)。
autoitフォーラムのアーチャーによって書かれたservice.au3を使用して、autoitスクリプトをサービスとして簡単に実行できます。残念ながら、または幸いなことに、これはセキュリティ対策です。サービスは、現在のユーザーセッションとは関係なく(ログイン前に)開始する必要があります。そこから現在のユーザーセッションの入力操作のために送信APIにアクセスすることはできません。サービスではなく、スケジュールされたタスクが必要なように聞こえます。
上記のように、スケジュールされたタスクはあなたが探しているものです。スクリプトをサービスとして実行するには、次のように読みます。
Q4。スクリプトをサービスとして実行するにはどうすればよいですか?これも複数の答えがある質問であり、それらのどれもそれを行う唯一の方法ではありません。自分自身に尋ねる最初の質問は、自分以外のコンピューターにサービスをインストールするかどうかです。
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)
AutoItをサービスとして設定する際の注意点が1つあります。上記のコードを使用してサービスをインストールしない場合は、「サービスがデスクトップと対話できるようにする」設定が必要です。そうでない場合、Control*またはWin*機能などの自動化機能は機能しません。サービスが実際にこの設定を持っていることを確認するには、次のコードを使用します:RegWrite( "HKLM \ SYSTEM \ CurrentControlSet \ Services [ServiceName]"、 "Type"、 "REG_DWORD"、0x110)
AutoItフォーラムのFAQトピックから引用。www.autoitscript.com/forum/index.php?showtopic=37289)
サービスの代わりにスケジュールされたタスクを使用したいようです。スケジュールされたタスクは、ログインしている間、1 時間ごとに実行でき、デスクトップと対話できる必要があります。ユーザー アカウント制御が有効になっている Vista/Windows Server 2008 を使用している場合、通常のユーザーとして実行されるタスクは昇格されたプログラムとやり取り (入力を送信) できないことに注意してください。