using System; using Arp.Prova.PlayLib; using Arp.Prova.ImageLibrary; //このサンプルコードは、WindowsUpdateの確認を行います。 public class CodeClass { public static int CodeStart() { //--------------------Windows Updateの設定サンプル-------------------- //こちらのサンプルは、「Windows Update」画面の状態を確認します。 //設定値などは、設定したい内容に変更の上お試しください。 //--------------------設定開始-------------------- //「設定」の「Windows Update」画面を表示します PlayLib.ProcessStart("ms-settings:windowsupdate"); //■「設定」画面が開くまで待つ if(PlayLib.WaitWindow("設定", true, 10)) { PlayLib.Window("設定").Activate(); //「設定」画面を前面に表示 PlayLib.Sleep(1000); //画面内の描画は終わるまで少し待つ //操作しやすいよう設定画面を最大化する if(PlayLib.Window("設定").WaitUIControl("UIButton", "設定 を最大化する", true, 10)) { PlayLib.Window("設定").UIButton("設定 を最大化する").Click(); PlayLib.Sleep(1000); } //「更新プログラムのチェック」ボタンがある場合 if(PlayLib.Window("設定").WaitUIControl("UIButton", "更新プログラムのチェック", true)) { //「更新プログラムのチェック」ボタンをクリック PlayLib.Window("設定").UIButton("更新プログラムのチェック").Click(); PlayLib.Sleep(1000); } // ■「最新の状態です」または「今すぐ再起動する」になるまで確認 for(int n = 0; n < 60 ;n++) // ループしてWindowsUpdateの状態確認する(最大10分) { // 「最新の状態です」か確認 if(PlayLib.Window("設定").WaitUIControl("UIStatic", "最新の状態です", true, 5)) { //「最新の状態です」の場合、確認終了 PlayLib.TestLog("Windows Update「最新の状態です」の状態です"); break; } //「今すぐ再起動する」ボタンがあるか確認 else if(PlayLib.Window("設定").WaitUIControl("UIButton", "今すぐ再起動する", true, 5) || PlayLib.Window("設定").WaitUIControl("UISplitButton", "今すぐ再起動する", true, 5)) { //「今すぐ再起動する」ボタンがある場合、確認終了 PlayLib.TestLog("Windows Update「今すぐ再起動する」の状態です。「設定->更新とセキュリティ->Windows Update」画面にてご確認ください。"); break; } // 「今すぐダウンロード」ボタンがあるか確認 else if(PlayLib.Window("設定").WaitUIControl("UIButton", "今すぐダウンロード", true, 5)) { //「今すぐダウンロード」ボタンをクリック PlayLib.Window("設定").UIButton("今すぐダウンロード").Click(); } //「最新の状態です」または「今すぐ再起動する」ではない場合、10秒待機する PlayLib.Sleep(10000); } //「Windows Update」画面を閉じます PlayLib.Window("設定").Close(); } else { //「設定」画面が開かなかった場合、ログを出力し処理を終了する PlayLib.TestLogError("「設定」画面が開きませんでした"); return -1; } return 0; } }