using System; using Arp.Prova.PlayLib; //MessageBoxを表示する為のライブラリ using System.Windows.Forms; // このサンプルコードは、ユーザーアカウント制御の設定を「通知しない」に設定を行います。 //※「ユーザーアカウント制御」画面の操作ができない為、一部手動での操作が必要となります。 public class CodeClass { public static int CodeStart() { //「UserAccountControlSettings」を実行し「ユーザー アカウント制御の設定」画面を開きます PlayLib.ProcessStart("UserAccountControlSettings"); //「ユーザー アカウント制御の設定」画面が開くまで待つ(待ち時間60秒) if(PlayLib.WaitWindow("ユーザー アカウント制御の設定", true, 60) == true) { //「ユーザー アカウント制御の設定」画面が非アクティブの場合がある為、アクティブにする PlayLib.Window("ユーザー アカウント制御の設定").Activate(); //ユーザーアカウント制御の設定で「通知しない」に設定されているか調べる if(PlayLib.Window("ユーザー アカウント制御の設定").Trackbar("Trackbar").GetPos() == 3) { //ユーザーアカウント制御の設定で「通知しない」に設定されている場合 //ユーザアカウント制御の設定のスライダーが「通知しない」に設定できているかチェックする if(PlayLib.CheckValue(PlayLib.Window("ユーザー アカウント制御の設定").Trackbar("Trackbar").GetPos(), 3, true) == false) { //「通知しない」に設定できていない場合、ログを出力し処理を終了する PlayLib.TestLogError("ユーザー アカウント制御の「通知しない」に設定できませんでした。"); return -1; } //「ユーザーアカウント制御」画面を閉じます。 PlayLib.Window("ユーザー アカウント制御の設定").Close(); } else { //ユーザーアカウント制御の設定で「通知しない」に設定されていない場合 //「ユーザー アカウント制御の設定」画面のスライダーを「通知しない」に設定 PlayLib.Window("ユーザー アカウント制御の設定").Trackbar("Trackbar").SetPos(3); //ユーザアカウント制御の設定のスライダーが「通知しない」に設定できているかチェックする if(PlayLib.CheckValue(PlayLib.Window("ユーザー アカウント制御の設定").Trackbar("Trackbar").GetPos(), 3, true) == false) { //「通知しない」に設定できていない場合、ログを出力し処理を終了する PlayLib.TestLogError("ユーザー アカウント制御の「通知しない」に設定できませんでした。"); return -1; } //ユーザーアカウント制御機能の画面で「OK」ボタンをクリックしてもらう為のメッセージボックスを表示する //※SetROBOでは、「ユーザーアカウント制御」画面の操作ができない為、「OK」ボタンは手動でクリックしてください。 MessageBox.Show("手動で「ユーザーアカウント制御設定」画面の「OK」ボタンを\nクリックしてから、本画面の「OK」ボタンをクリックしてください。", "「ユーザーアカウント制御設定」の確認", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); //※ユーザーアカウント制御の設定を反映させる為には再起動が必要になります。 } } else { //「ユーザー アカウント制御の設定」画面が開かなかった場合、ログを出力し処理を終了する PlayLib.TestLogError("「ユーザー アカウント制御の設定」画面が開きませんでした。"); return -1; } return 0; } }