knowledge レジストリ「ForegroundLockTimeout」の値を取得し、AutoMateが正常稼働するかチェックするサンプル

本記事では、「レジストリ」アクションを使用して「HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout」の値を取得し、AutoMateが正常に稼働する設定になっているかどうかをチェックするサンプルを紹介します。
※本サンプルは値の読出しのみのため影響はありませんが、他のレジストリ操作につきましては十分注意の上ご実施下さい
※万一誤ったレジストリの操作によりPCに不具合が出たとしても、当社では一切の責任を負いかねます

該当のレジストリは、「Windowsフォアグラウンドタイムアウトを無効にする」のチェック有無により変動する値です。
通常、該当の設定を行っていれば「0」になりますが、Windows Updateが実行された際に規定値に戻されたり、設定をしたがレジストリ値が変更されず実際の設定は据え置きになっている場合があります。

そのような際にレジストリ値をチェックし、手動修正が必要かどうかをチェックするサンプルです。

--------------------------------------------以下、サンプル--------------------------------------------

<AMVARIABLE NAME="var_Value" VALUE="" DESCRIPTION="レジストリ値を格納する" TYPE="number" />
<AMVARIABLE NAME="var_ErrorMessage_Common1" DESCRIPTION="共通エラーメッセージ1">「HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout」の値が「0」ではありません。
(現在、値は「%var_Value%」になっています。)

この状態ではAutoMateが起動したアプリケーションの画面がオレンジ色に点滅し
「ウィンドウ - フォーカス」などの一部アクションが正常に稼働せず、画面操作が正常稼働しません。
「Windowsフォアグラウンドタイムアウトを無効にする」の設定にチェックが入っていることを確認してください。</AMVARIABLE>
<AMVARIABLE NAME="var_ErrorMessage_Common2" DESCRIPTION="共通エラーメッセージ2">「Windowsフォアグラウンドタイムアウトを無効にする」にチェックがついている場合は、システムがレジストリ値の書き換えに失敗している可能性があります。
その際は手動で該当のレジストリ値を「0」に変更後、一度サインアウトし、再度ログオンしてください。</AMVARIABLE>
<AMVARIABLE NAME="var_ErrorMessage_Desktop">該当の設定は、AutoMateタスクアドミニストレーターの
「オプション」→「システム設定」→「実行」
にあります。</AMVARIABLE>
<AMVARIABLE NAME="var_ErrorMessage_Server">該当の設定は、AutoMate管理コンソールの
「オプション」→「デフォルト プロパティ」→「その他」
にあります。</AMVARIABLE>
<AMSHOWDIALOG>今からレジストリ「HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout」の値をチェックし
AutoMateが正常に稼働する状態になっているかを調べます。</AMSHOWDIALOG>
<AMREGISTRY ACTIVITY="read_value" KEY="HKEY_CURRENT_USER\Control Panel\Desktop" VALUE="ForegroundLockTimeout" RESULTVARIABLE="var_Value" />
<AMIF EXPRESSION="%var_Value% &lt;&gt; 0" />
<!--「デスクトップ版」か「サーバー版」で設定箇所が違うので、使っているアプリケーションにより案内を変える-->
<AMSHOWDIALOG COUNTDOWNDELAY="60">%var_ErrorMessage_Common1%

%If(isBPA() = True, var_ErrorMessage_Server, var_ErrorMessage_Desktop)%

%var_ErrorMessage_Common2%</AMSHOWDIALOG>
<AMELSE />
<AMSHOWDIALOG MESSAGE="正常です。該当のレジストリ値は「0」になっています。" COUNTDOWNDELAY="10" />
<AMIF ACTIVITY="end" />