一度に1つしかスクリプトのインスタンスが実行されないような設計の枠組みに設定します。
#Include <Misc.au3>
_Singleton($sOccurenceName [, $iFlag = 0])
パラメータ
$sOccurenceName | 実行されているスクリプトを識別するための文字列。オブジェクトを名前空間に配置する場合を除き、この文字列に\文字を使用することはできません(注意を参照)。 |
$iFlag | [オプション]処理オプション。 0 - 既に他にインスタンスが存在する場合、終了コード-1でスクリプトを終了します。 1 - スクリプトを終了せずに関数から返ります。 2 - システム内の任意のユーザーオブジェクトへのアクセスを許可します。これはマルチユーザー環境で"Global\"オブジェクト指定している場合に便利です。 |
返し値
成功: | オブジェクトが同期用に使用するハンドル(mutex) |
失敗: | 0 |
注意
"Global\"または"Local\"のどちらかの接頭辞をオブジェクト名につけることでオブジェクトを名前空間に配置することができます。フラグ2を使って連結された"Global\"オブジェクトはマルチユーザー環境で便利です。
関連
例
#include <Misc.au3>
if _Singleton("test",1) = 0 Then
Msgbox(0,"Warning","An occurence of test is already running")
Exit
EndIf
Msgbox(0,"OK","the first occurence of test is running")