SLEEP

Contents

構文
SLEEP( 秒 )
引数
スリープする秒数(最小=0.001)
戻値

プログラム実行例

画像をクリップボードにコピーする

Alt+Sでマウスカーソル下のオブジェクトのスクリーンショット画像をクリップボードにコピーします。

SETHOTKEY(VK_S, MOD_ALT, "imageToClipboard")
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

WHILE TRUE
	SLEEP(0.01)
WEND

PROCEDURE imageToClipboard()
	SAVEIMG( , GETID(GET_FROMPOINT_WIN))
FEND

//////////////////////////////////////////////////
// 【引数】
// 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE forceQuit()
	EXITEXIT
FEND
解説
  1. 1行目
    SETHOTKEY(VK_S, MOD_ALT, "imageToClipboard")
    
    Alt+SでimageToClipboard関数を実行します。
  2. 2行目
    SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
    
    EscでforceQuit関数を実行します。
  3. 4-6行目
    WHILE TRUE
    	SLEEP(0.01)
    WEND
    
    無限ループ。Alt+SもしくはEscが入力されるのを待機します。

コントロールパネルを起動する

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("control")
SLEEP(3.000)

DIM ID = GETID("コントロール パネル")
CTRLWIN(ID, CLOSE)

指定日時までのカウントダウンタイマー

DIM date = dateAdd("d", 1, today())
DIM targetTime = GETTIME(0, date + " 00:00:00")

REPEAT
	DIM remainingTime = targetTime - GETTIME()
	FUKIDASI(remainingTime + "秒")
	SLEEP(0.001)
UNTIL remainingTime <= 0

MSGBOX("0時になりました。")

//////////////////////////////////////////////////
// 【引数】
//   interval : 加算する時間間隔を表す文字列式(yyyy:年、m:月、d:日、ww:週、h:時、n:分、s:秒) 
//   num : dateに加算する値。未来は正、過去は負で指定 
//   date : 時間間隔を加算する日付 
// 【戻値】
//   日時(date)に、指定した単位(interval)の時間(num)を加算して返します 
//////////////////////////////////////////////////
FUNCTION dateAdd(interval, num, date)
	DIM year, month, day, d
	GETTIME(0, date)
	SELECT interval
		CASE "yyyy"
			d = (G_TIME_YY + num) + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
		CASE "m"
			IFB num > 0 THEN
				year = G_TIME_YY + INT((G_TIME_MM + num) / 12)
				month = REPLACE(FORMAT(((G_TIME_MM + num) MOD 12), 2), " ", "0")
			ELSE
				year = G_TIME_YY + CEIL((G_TIME_MM + num) / 12 - 1)
				month = REPLACE(FORMAT(G_TIME_MM - (ABS(num) MOD 12), 2), " ", "0")
			ENDIF
			IF month = "00" THEN month = 12
			day = G_TIME_DD2
			d = "" + year + month + day
			IFB !isDate(d) THEN
				d = year + "/" + month + "/" + "01"
				d = getEndOfMonth(d)
			ELSE
				d = year + "/" + month + "/" + day
			ENDIF
		CASE "d"
			GETTIME(num, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
		CASE "ww"
			GETTIME(num * 7, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
		CASE "h"
			GETTIME(num / 24, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
		CASE "n"
			GETTIME(num / 1440, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
		CASE "s"
			GETTIME(num / 86400, date)
			d = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
	SELEND
	RESULT = d
FEND

//////////////////////////////////////////////////
// 【引数】
//   date : 日付(”YYYYMMDD” or “YYYY/MM/DD” or “YYYY-MM-DD” or “YYYYMMDDHHNNSS” or “YYYY/MM/DD HH:NN:SS”) 
//   m : 第一引数の指定日からプラスマイナス m 月とする(デフォルト=0) 
// 【戻値】
//   date から m 月後の月末の日付 
//////////////////////////////////////////////////
FUNCTION getEndOfMonth(date, m = 0)
	GETTIME(0, date)
	IFB m >= 0 THEN
		year = G_TIME_YY + INT((G_TIME_MM + m + 1) / 12)
		month = REPLACE(FORMAT(((G_TIME_MM + m + 1) MOD 12), 2), " ", "0")
	ELSE
		year = G_TIME_YY + CEIL((G_TIME_MM + m + 1) / 12 - 1)
		month = REPLACE(FORMAT(G_TIME_MM - (ABS(m + 1) MOD 12), 2), " ", "0")
		IF EVAL(month) < 0 THEN month = REPLACE(FORMAT(12 + EVAL(month), 2), " ", "0")
	ENDIF
	IF month = "00" THEN month = "12"
	day = "01"
	d = "" + year + month + day
	GETTIME(-1, d)
	RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
FEND

//////////////////////////////////////////////////
// 【引数】
//   expr : 評価する式 
//   truepart : 評価した式がTrueのときに返す値 
//   falsepart : 評価した式がFalseのときに返す値 
// 【戻値】
//   truepart : 評価した式がTrueのとき、falsepart : 評価した式がFalseのとき 
//////////////////////////////////////////////////
FUNCTION IIF(expr, truepart, falsepart)
	IFB EVAL(expr) THEN
		RESULT = truepart
	ELSE
		RESULT = falsepart
	ENDIF
FEND

//////////////////////////////////////////////////
// 【引数】
//   日付 : YYYYMMDD 
// 【戻値】
//   TRUE : 日付として認識できる、FALSE : 日付として認識できない 
//////////////////////////////////////////////////
FUNCTION isDate(date)
	DIM Pattern = "^(?!([02468][1235679]|[13579][01345789])000229)(([0-9]{4}(01|03|05|07|08|10|12)(0[1-9]|[12][0-9]|3[01]))|([0-9]{4}(04|06|09|11)(0[1-9]|[12][0-9]|30))|([0-9]{4}02(0[1-9]|1[0-9]|2[0-8]))|([0-9]{2}([02468][048]|[13579][26])0229))$"
	DIM Match = reExecute(date, Pattern)
	RESULT = IIF(Match.Count <> 0, TRUE, FALSE)
FEND

//////////////////////////////////////////////////
// 【引数】
//   str : 正規表現による検索の対象となる文字列 
//   Pattern : 正規表現で使用するパターンを設定 
//   IgnoreCase : 大文字・小文字を区別しない場合はTrue、区別する場合はFalse 
//   Global : 文字列全体を検索する場合はTrue、しない場合はFalse 
// 【戻値】
//   正規表現で検索した結果をMatchesコレクションとして返します。 
//////////////////////////////////////////////////
FUNCTION reExecute(str, Pattern, IgnoreCase = TRUE, Global = TRUE)
	DIM re = CREATEOLEOBJ("VBScript.RegExp")
	re.Pattern = Pattern
	re.IgnoreCase = IgnoreCase
	re.Global = Global
	RESULT = re.Execute(str)
FEND

//////////////////////////////////////////////////
// 【引数】
// 
// 【戻値】
//   今日の日付 
//////////////////////////////////////////////////
FUNCTION today()
	GETTIME()
	RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
FEND

アイドル時間を取得

DEF_DLL GetTickCount(): Dword: kernel32
DEF_DLL GetLastInputInfo({DWORD, DWORD}): BOOL: user32
DIM t

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

WHILE TRUE
	GetLastInputInfo(8, t)
	FUKIDASI((GetTickCount() - t) + "ms")
	SLEEP(0.01)
WEND

//////////////////////////////////////////////////
// 【引数】
// 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE forceQuit()
	EXITEXIT
FEND

電卓(ストアアプリ)を起動

EXEC("calc")
DIM ID = GETID("電卓")

// CTRLWIN(ID, CLOSE)
解説
  1. 1行目
    EXEC("calc")
    
    電卓を起動。
  2. 2行目
    DIM ID = GETID("電卓")
    
    電卓のIDを取得。EXEC関数は起動したときに戻値としてIDを返すが、ストアアプリなど一部のアプリはIDを返してくれないので起動後にGETID関数で取得します。
  3. 4行目
    // CTRLWIN(ID, CLOSE)
    電卓を閉じる。

マウスカーソル下のウィンドウの情報を吹き出しに表示

PUBLIC ttl, cls

SETHOTKEY(VK_ESC, , "forceQuit")
SETHOTKEY(VK_S, MOD_ALT, "output")

WHILE TRUE
	ID = GETID(GET_FROMPOINT_WIN)
	msg = ""
	msg = msg + "ALT+Sでカーソル下のタイトルとクラス名を出力<#CR>"
	msg = msg + "ESCで終了<#CR>"
	msg = msg + "<#CR>"
	ttl = STATUS(ID, ST_TITLE)
	cls = STATUS(ID, ST_CLASS)
	msg = msg + "タイトル:" + ttl + "<#CR>"
	msg = msg + "クラス名:" + cls + "<#CR>"
	msg = msg + "X座標:" + STATUS(ID, ST_X) + "<#CR>"
	msg = msg + "Y座標:" + STATUS(ID, ST_Y) + "<#CR>"
	msg = msg + "幅:" + STATUS(ID, ST_WIDTH) + "<#CR>"
	msg = msg + "高さ:" + STATUS(ID, ST_HEIGHT) + "<#CR>"
	msg = msg + "クライアントX座標:" + STATUS(ID, ST_CLX) + "<#CR>"
	msg = msg + "クライアントY座標:" + STATUS(ID, ST_CLY) + "<#CR>"
	msg = msg + "クライアント幅:" + STATUS(ID, ST_CLWIDTH) + "<#CR>"
	msg = msg + "クライアント高さ:" + STATUS(ID, ST_CLHEIGHT) + "<#CR>"
	msg = msg + "親ウィンドウID:" + STATUS(ID, ST_PARENT) + "<#CR>"
	msg = msg + "アイコン状態:" + STATUS(ID, ST_ICON) + "<#CR>"
	msg = msg + "最大化:" + STATUS(ID, ST_MAXIMIZED) + "<#CR>"
	msg = msg + "表示状態:" + STATUS(ID, ST_VISIBLE) + "<#CR>"
	msg = msg + "アクティブ状態:" + STATUS(ID, ST_ACTIVE) + "<#CR>"
	msg = msg + "ビジー状態:" + STATUS(ID, ST_BUSY) + "<#CR>"
	msg = msg + "有効ID:" + STATUS(ID, ST_ISID) + "<#CR>"
	msg = msg + "64bit:" + STATUS(ID, ST_WIN64) + "<#CR>"
	msg = msg + "EXEパス:" + STATUS(ID, ST_PATH) + "<#CR>"
	msg = msg + "プロセスID:" + STATUS(ID, ST_PROCESS) + "<#CR>"
	msg = msg + "モニター番号:" + STATUS(ID, ST_MONITOR) + "<#CR>"
	FUKIDASI(msg)
	SLEEP(0.01)
WEND

// 強制終了する
PROCEDURE forceQuit()
	EXITEXIT
FEND

// カーソル下のウィンドウのタイトルとクラス名を出力
PROCEDURE output()
	PRINT "GETID(<#DBL>" + ttl + "<#DBL>, <#DBL>" + cls + "<#DBL>)"
	PRINT ttl
	PRINT cls
	PRINT "----------"
FEND

処理を5秒間待機します

SLEEP(5.000)

Internet Explorerで開いたページを印刷

ExecWBの第1引数に「OLECMDID_PRINT」を指定すると、[ファイル]メニューの[印刷]を実行するのと同じ動作をします。

またExecWBの第2引数に「OLECMDEXECOPT_DONTPROMPTUSER」を指定しているので。ユーザーの入力を促すことなく印刷が始まります。このプログラムを実行する際は注意してください。

CONST OLECMDID_PRINT = 6
CONST OLECMDEXECOPT_DONTPROMPTUSER = 2

DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://example.com")
BusyWait(IE)
SLEEP(3.000)

// [ファイル]メニューの[印刷]
DIM cmdID = OLECMDID_PRINT

IE.ExecWB(cmdID, OLECMDEXECOPT_DONTPROMPTUSER)
IE.Quit

//////////////////////////////////////////////////
// 【引数】
//   IE : IEオブジェクト 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE BusyWait(Var IE)
	SLEEP(0.500)
	DIM t = GETTIME()
	TRY
		REPEAT
			DIM tm = GETTIME() - t
			FUKIDASI("BusyWait:" + tm)
			SLEEP(0.010)
			IF tm >= 60 THEN BREAK
		UNTIL !IE.Busy AND IE.readyState = 4
	EXCEPT
		IE = getIEObj(-1)
		PRINT IE.document.URL + " のIEオブジェクトを取得しました。"
		BusyWait(IE)
	ENDTRY
	FUKIDASI()
FEND

//////////////////////////////////////////////////
// 【引数】
//   文字列 or 数値 : 取得したいIEオブジェクトのタイトル・URLもしくは数値を指定 
//   完全一致フラグ : (TRUE : 文字列が完全一致したものを取得、FALSE : 文字列の一部を含むものを取得) 
// 【戻値】
//   Internet Explorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION getIEObj(str, flg = FALSE)
	DIM Shell = CREATEOLEOBJ("Shell.Application")
	SELECT CHKNUM(str)
		CASE TRUE
			DIM cnt = 0
			SELECT TRUE
				CASE str > 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB str = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str < 0
					FOR n = Shell.Windows.Count - 1 TO 0 STEP -1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB ABS(str) = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str = 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IF Shell.Windows.Item(n).Name = "Internet Explorer" THEN cnt = cnt + 1
						EXCEPT
						ENDTRY
					NEXT
					RESULT = cnt
					EXIT
			SELEND
		CASE FALSE
			DIM t = GETTIME()
			REPEAT
				FOR n = 0 TO Shell.Windows.Count - 1
					TRY
						DIM targetObj = Shell.Windows.Item(n)
						IFB targetObj.Name = "Internet Explorer" THEN
							SELECT flg
								CASE TRUE
									IFB targetObj.document.title = str OR targetObj.LocationURL = str THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
								CASE FALSE
									IFB POS(str, targetObj.document.title) OR POS(str, targetObj.LocationURL) THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
							SELEND
						ENDIF
					EXCEPT
					ENDTRY
				NEXT
			UNTIL GETTIME() - t >= 5
	SELEND
	RESULT = ERR_VALUE
FEND

Internet Explorerで指定したURLを開きます

DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://example.com/")
BusyWait(IE)
SLEEP(3.000)
IE.Quit

//////////////////////////////////////////////////
// 【引数】
//   IE : IEオブジェクト 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE BusyWait(Var IE)
	SLEEP(0.500)
	DIM t = GETTIME()
	TRY
		REPEAT
			DIM tm = GETTIME() - t
			FUKIDASI("BusyWait:" + tm)
			SLEEP(0.010)
			IF tm >= 60 THEN BREAK
		UNTIL !IE.Busy AND IE.readyState = 4
	EXCEPT
		IE = getIEObj(-1)
		PRINT IE.document.URL + " のIEオブジェクトを取得しました。"
		BusyWait(IE)
	ENDTRY
	FUKIDASI()
FEND

//////////////////////////////////////////////////
// 【引数】
//   文字列 or 数値 : 取得したいIEオブジェクトのタイトル・URLもしくは数値を指定 
//   完全一致フラグ : (TRUE : 文字列が完全一致したものを取得、FALSE : 文字列の一部を含むものを取得) 
// 【戻値】
//   Internet Explorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION getIEObj(str, flg = FALSE)
	DIM Shell = CREATEOLEOBJ("Shell.Application")
	SELECT CHKNUM(str)
		CASE TRUE
			DIM cnt = 0
			SELECT TRUE
				CASE str > 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB str = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str < 0
					FOR n = Shell.Windows.Count - 1 TO 0 STEP -1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB ABS(str) = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str = 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IF Shell.Windows.Item(n).Name = "Internet Explorer" THEN cnt = cnt + 1
						EXCEPT
						ENDTRY
					NEXT
					RESULT = cnt
					EXIT
			SELEND
		CASE FALSE
			DIM t = GETTIME()
			REPEAT
				FOR n = 0 TO Shell.Windows.Count - 1
					TRY
						DIM targetObj = Shell.Windows.Item(n)
						IFB targetObj.Name = "Internet Explorer" THEN
							SELECT flg
								CASE TRUE
									IFB targetObj.document.title = str OR targetObj.LocationURL = str THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
								CASE FALSE
									IFB POS(str, targetObj.document.title) OR POS(str, targetObj.LocationURL) THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
							SELEND
						ENDIF
					EXCEPT
					ENDTRY
				NEXT
			UNTIL GETTIME() - t >= 5
	SELEND
	RESULT = ERR_VALUE
FEND

指定したURLを新しいタブで開く

DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://example.com/", $800)
tab = getIEObj("http://example.com/")
BusyWait(tab)
SLEEP(3.000)

tab.Quit
IE.Quit

//////////////////////////////////////////////////
// 【引数】
//   IE : IEオブジェクト 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE BusyWait(Var IE)
	SLEEP(0.500)
	DIM t = GETTIME()
	TRY
		REPEAT
			DIM tm = GETTIME() - t
			FUKIDASI("BusyWait:" + tm)
			SLEEP(0.010)
			IF tm >= 60 THEN BREAK
		UNTIL !IE.Busy AND IE.readyState = 4
	EXCEPT
		IE = getIEObj(-1)
		PRINT IE.document.URL + " のIEオブジェクトを取得しました。"
		BusyWait(IE)
	ENDTRY
	FUKIDASI()
FEND

//////////////////////////////////////////////////
// 【引数】
//   文字列 or 数値 : 取得したいIEオブジェクトのタイトル・URLもしくは数値を指定 
//   完全一致フラグ : (TRUE : 文字列が完全一致したものを取得、FALSE : 文字列の一部を含むものを取得) 
// 【戻値】
//   Internet Explorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION getIEObj(str, flg = FALSE)
	DIM Shell = CREATEOLEOBJ("Shell.Application")
	SELECT CHKNUM(str)
		CASE TRUE
			DIM cnt = 0
			SELECT TRUE
				CASE str > 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB str = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str < 0
					FOR n = Shell.Windows.Count - 1 TO 0 STEP -1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB ABS(str) = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str = 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IF Shell.Windows.Item(n).Name = "Internet Explorer" THEN cnt = cnt + 1
						EXCEPT
						ENDTRY
					NEXT
					RESULT = cnt
					EXIT
			SELEND
		CASE FALSE
			DIM t = GETTIME()
			REPEAT
				FOR n = 0 TO Shell.Windows.Count - 1
					TRY
						DIM targetObj = Shell.Windows.Item(n)
						IFB targetObj.Name = "Internet Explorer" THEN
							SELECT flg
								CASE TRUE
									IFB targetObj.document.title = str OR targetObj.LocationURL = str THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
								CASE FALSE
									IFB POS(str, targetObj.document.title) OR POS(str, targetObj.LocationURL) THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
							SELEND
						ENDIF
					EXCEPT
					ENDTRY
				NEXT
			UNTIL GETTIME() - t >= 5
	SELEND
	RESULT = ERR_VALUE
FEND

POSTデータを送信して指定したURLを開く

HASHTBL data
// 送信するデータを「data[名前] = 値」の形式で指定
data["mail"] = "info@example.com"
data["address"] = "北海道"

DIM arr[LENGTH(data) - 1]
FOR n = 0 TO LENGTH(data) - 1
	// 連想配列の中身を「名前=値」の形式に変換
	arr[n] = arr[n] + data[n, HASH_KEY] + "=" + ENCODE(ENCODE(data[n, HASH_VAL], CODE_UTF8), CODE_URL)
NEXT
// 配列の中身を「&」で結合
DIM PostData = JOIN(arr, "&")

// データをエンコード
PostData = ENCODE(PostData, CODE_BYTEARRAY)
// PostDataを渡すときは必ず指定
DIM Headers = "Content-Type: application/x-www-form-urlencoded"
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://example.com", , , PostData, Headers)
BusyWait(IE)
SLEEP(5.000)
IE.Quit

//////////////////////////////////////////////////
// 【引数】
//   IE : IEオブジェクト 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE BusyWait(Var IE)
	SLEEP(0.500)
	DIM t = GETTIME()
	TRY
		REPEAT
			DIM tm = GETTIME() - t
			FUKIDASI("BusyWait:" + tm)
			SLEEP(0.010)
			IF tm >= 60 THEN BREAK
		UNTIL !IE.Busy AND IE.readyState = 4
	EXCEPT
		IE = getIEObj(-1)
		PRINT IE.document.URL + " のIEオブジェクトを取得しました。"
		BusyWait(IE)
	ENDTRY
	FUKIDASI()
FEND

//////////////////////////////////////////////////
// 【引数】
//   文字列 or 数値 : 取得したいIEオブジェクトのタイトル・URLもしくは数値を指定 
//   完全一致フラグ : (TRUE : 文字列が完全一致したものを取得、FALSE : 文字列の一部を含むものを取得) 
// 【戻値】
//   Internet Explorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION getIEObj(str, flg = FALSE)
	DIM Shell = CREATEOLEOBJ("Shell.Application")
	SELECT CHKNUM(str)
		CASE TRUE
			DIM cnt = 0
			SELECT TRUE
				CASE str > 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB str = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str < 0
					FOR n = Shell.Windows.Count - 1 TO 0 STEP -1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB ABS(str) = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str = 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IF Shell.Windows.Item(n).Name = "Internet Explorer" THEN cnt = cnt + 1
						EXCEPT
						ENDTRY
					NEXT
					RESULT = cnt
					EXIT
			SELEND
		CASE FALSE
			DIM t = GETTIME()
			REPEAT
				FOR n = 0 TO Shell.Windows.Count - 1
					TRY
						DIM targetObj = Shell.Windows.Item(n)
						IFB targetObj.Name = "Internet Explorer" THEN
							SELECT flg
								CASE TRUE
									IFB targetObj.document.title = str OR targetObj.LocationURL = str THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
								CASE FALSE
									IFB POS(str, targetObj.document.title) OR POS(str, targetObj.LocationURL) THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
							SELEND
						ENDIF
					EXCEPT
					ENDTRY
				NEXT
			UNTIL GETTIME() - t >= 5
	SELEND
	RESULT = ERR_VALUE
FEND

GoBackとGoForwardを使った例

DIM IE = IEBoot()
IE.Navigate("http://www.google.com")
BusyWait(IE)

IE.Navigate("https://www.yahoo.co.jp")
BisyWait(IE)

IE.GoBack          // 前のページ(Google)を開く
BusyWait(IE)
SLEEP(5.000)

IE.GoForward       // 次のページ(Yahoo!)を開く
BusyWait(IE)
SLEEP(5.000)

IE.Quit

//////////////////////////////////////////////////
// 【引数】
//   IE : IEオブジェクト 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE BusyWait(Var IE)
	SLEEP(0.500)
	DIM t = GETTIME()
	TRY
		REPEAT
			DIM tm = GETTIME() - t
			FUKIDASI("BusyWait:" + tm)
			SLEEP(0.010)
			IF tm >= 60 THEN BREAK
		UNTIL !IE.Busy AND IE.readyState = 4
	EXCEPT
		IE = getIEObj(-1)
		PRINT IE.document.URL + " のIEオブジェクトを取得しました。"
		BusyWait(IE)
	ENDTRY
	FUKIDASI()
FEND

//////////////////////////////////////////////////
// 【引数】
//   文字列 or 数値 : 取得したいIEオブジェクトのタイトル・URLもしくは数値を指定 
//   完全一致フラグ : (TRUE : 文字列が完全一致したものを取得、FALSE : 文字列の一部を含むものを取得) 
// 【戻値】
//   Internet Explorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION getIEObj(str, flg = FALSE)
	DIM Shell = CREATEOLEOBJ("Shell.Application")
	SELECT CHKNUM(str)
		CASE TRUE
			DIM cnt = 0
			SELECT TRUE
				CASE str > 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB str = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str < 0
					FOR n = Shell.Windows.Count - 1 TO 0 STEP -1
						TRY
							IFB Shell.Windows.Item(n).Name = "Internet Explorer" THEN
								cnt = cnt + 1
								IFB ABS(str) = cnt THEN
									RESULT = Shell.Windows.Item(n)
									EXIT
								ENDIF
							ENDIF
						EXCEPT
						ENDTRY
					NEXT
				CASE str = 0
					FOR n = 0 TO Shell.Windows.Count - 1
						TRY
							IF Shell.Windows.Item(n).Name = "Internet Explorer" THEN cnt = cnt + 1
						EXCEPT
						ENDTRY
					NEXT
					RESULT = cnt
					EXIT
			SELEND
		CASE FALSE
			DIM t = GETTIME()
			REPEAT
				FOR n = 0 TO Shell.Windows.Count - 1
					TRY
						DIM targetObj = Shell.Windows.Item(n)
						IFB targetObj.Name = "Internet Explorer" THEN
							SELECT flg
								CASE TRUE
									IFB targetObj.document.title = str OR targetObj.LocationURL = str THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
								CASE FALSE
									IFB POS(str, targetObj.document.title) OR POS(str, targetObj.LocationURL) THEN
										RESULT = Shell.Windows.Item(n)
										EXIT
									ENDIF
							SELEND
						ENDIF
					EXCEPT
					ENDTRY
				NEXT
			UNTIL GETTIME() - t >= 5
	SELEND
	RESULT = ERR_VALUE
FEND

//////////////////////////////////////////////////
// 【引数】
//   InPrivate : InPrivateブラウズ・モードを有効にするときはTRUEを指定(デフォルトはFALSE) 
// 【戻値】
//   InternetExplorerオブジェクト 
//////////////////////////////////////////////////
FUNCTION IEBoot(InPrivate = FALSE)
	DIM IE
	SELECT InPrivate
		CASE TRUE
			DOSCMD("start iexplore -private")
			GETID("InPrivate - Internet Explorer - [InPrivate]", "IEFrame", -1)
			IE = GETACTIVEOLEOBJ("InternetExplorer.Application","InPrivate - Internet Explorer - [InPrivate]")
		CASE FALSE
			TRY
				IE = CREATEOLEOBJ("InternetExplorer.Application")
				IE.Visible = TRUE
			EXCEPT
				EXEC("C:\Program Files\Internet Explorer\iexplore.exe")
				GETID("Internet Explorer", "IEFrame", -1)
				TRY
					IE = GETACTIVEOLEOBJ("InternetExplorer.Application")	
				EXCEPT
					IE = getIEObj(-1)
				ENDTRY
			ENDTRY
	SELEND
	RESULT = IE
FEND

プログラム実行時からの経過時間を表示(ESCで終了)

SETHOTKEY(VK_ESC, , "forceQuit")

DIM t = GETTIME()

WHILE TRUE
	FUKIDASI(GETTIME() - t)
	SLEEP(0.001)
WEND

PROCEDURE forceQuit()
	EXITEXIT
FEND

メールを受信したらメッセージボックスを表示する。

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit") 

DIM Outlook = GETACTIVEOLEOBJ("Outlook.Application")
OLEEVENT(Outlook, "ApplicationEvents_11", "NewMailEx", "receivedMail")

WHILE TRUE
	FUKIDASI("ESCで終了")
	SLEEP(60.000)
WEND

PROCEDURE forceQuit()
	EXITEXIT
FEND

PROCEDURE receivedMail()
	MSGBOX("メールを受信しました")
FEND

ExcelからWordを起動する

CONST xlMicrosoftWord = 1

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE

// Wordを起動
Excel.Application.ActivateMicrosoftApp(xlMicrosoftWord)

DIM ID = GETID("Microsoft Word", "OpusApp")
SLEEP(5.000)

// Wordを閉じる
CTRLWIN(ID, CLOSE)
Excel.Quit

アクティブセルに文字列を入力する

DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM Range = Excel.Application.ActiveCell
SLEEP(1.000)
Range.Value = "abc"
SLEEP(3.000)

Excel.Application.DisplayAlerts = FALSE
Excel.Quit

マウス位置の色を取得

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

WHILE TRUE
	DIM c = PEEKCOLOR(G_MOUSE_X, G_MOUSE_Y)
	DIM r = c AND $FF
	DIM g = (c AND $FF00) / $100
	DIM b = (c AND $FF0000) / $10000
	FUKIDASI("赤<#TAB>" + r + "<#CR>緑<#TAB>" + g + "<#CR>青<#TAB>" + b)
	SLEEP(0.001)
WEND

//////////////////////////////////////////////////
// 【引数】
// 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE forceQuit()
	EXITEXIT
FEND
解説
  1. 1行目
    SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
    
    ホットキーを設定する。ESCキーでforceQuit関数を呼び出す。
  2. 3行目
    WHILE TRUE
    
    無限ループ開始。
  3. 4行目
    	DIM c = PEEKCOLOR(G_MOUSE_X, G_MOUSE_Y)
    
    マウス位置のBGR値を取得。例)c = 16513269 = 0xFBF8F5 = 11111011 11111000 11110101b。
    c = 16513269BGR
    16進数FBF8F5
    2進数111110111111100011110101
  4. 5行目
    	DIM r = c AND $FF
    
    BGR値からR成分を取得。F5が返ります。
    BGR
    c111110111111100011110101
    $FF11111111
    c AND $FF11110101
  5. 6行目
    	DIM g = (c AND $FF00) / $100
    
    BGR値からG成分を取得。F8が返ります。
    BGR
    c111110111111100011110101
    $FF001111111100000000
    c AND $FF001111100000000000
  6. 7行目
    	DIM b = (c AND $FF0000) / $10000
    
    BGR値からB成分を取得。FBが返ります。
    BGR
    c111110111111100011110101
    $FF0000111111110000000000000000
    c AND $FF0000111110110000000000000000
  7. 8行目
    	FUKIDASI("赤<#TAB>" + r + "<#CR>緑<#TAB>" + g + "<#CR>青<#TAB>" + b)
    
    各成分を吹き出しに表示。

「プログラムと機能」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("appwiz.cpl")
SLEEP(3.000)

DIM ID = GETID("プログラムと機能")
CTRLWIN(ID, CLOSE)

「ディスプレイ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("desk.cpl")
SLEEP(3.000)

DIM ID = GETID("設定", "ApplicationFrameWindow")
CTRLWIN(ID, CLOSE)

「インターネットのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("inetcpl.cpl")
SLEEP(3.000)

DIM ID = GETID("インターネットのプロパティ", "#32770")
CTRLWIN(ID, CLOSE)

「システムのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("sysdm.cpl", "#32770")
SLEEP(3.000)

DIM ID = GETID("システムのプロパティ")
CTRLWIN(ID, CLOSE)

「マウスのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("main.cpl")
SLEEP(3.000)

DIM ID = GETID("マウスのプロパティ", "#32770")
CTRLWIN(ID, CLOSE)

「電卓」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("calc")
SLEEP(3.000)

DIM ID = GETID("電卓", "ApplicationFrameWindow")
CTRLWIN(ID, CLOSE)

「文字コード表」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("charmap")
SLEEP(3.000)

DIM ID = GETID("文字コード表", "#32770")
CTRLWIN(ID, CLOSE)

「DirectX 診断ツール」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("dxdiag")
SLEEP(3.000)

DIM ID = GETID("DirectX 診断ツール", "#32770")
CTRLWIN(ID, CLOSE)

「外字エディタ」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("eudcedit")
SLEEP(3.000)

DIM ID = GETID("コードの選択", "#32770")
CTRLWIN(ID, CLOSE)
ID = GETID("外字エディター", "Afx:dd0000:0:10003:6:")
CTRLWIN(ID, CLOSE)

「すべてのコントロール パネル項目」を開く

CONST ssfCONTROLS = 3

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCONTROLS)
SLEEP(3.000)

DIM ID = GETID("すべてのコントロール パネル項目")
CTRLWIN(ID, CLOSE)

「プリンター」を開く

CONST ssfPRINTERS = 4

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPRINTERS)
SLEEP(3.000)

DIM ID = GETID("プリンター")
CTRLWIN(ID, CLOSE)

「ドキュメント」を開く

CONST ssfPERSONAL = 5

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPERSONAL)
SLEEP(3.000)

DIM ID = GETID("ドキュメント")
CTRLWIN(ID, CLOSE)

「お気に入り」を開く

CONST ssfFAVORITES = 6

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfFAVORITES)
SLEEP(3.000)

DIM ID = GETID("お気に入り")
CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfSTARTUP = 7

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfSTARTUP)
SLEEP(3.000)

DIM ID = GETID("スタートアップ")
//CTRLWIN(ID, CLOSE)

「最近使った項目」を開く

CONST ssfRECENT = 8

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfRECENT)
SLEEP(3.000)

DIM ID = GETID("最近使った項目")
CTRLWIN(ID, CLOSE)

「送る」を開く

CONST ssfSENDTO = 9

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfSENDTO)
SLEEP(3.000)

DIM ID = GETID("SendTo")
CTRLWIN(ID, CLOSE)

「ごみ箱」を開く

CONST ssfBITBUCKET = 10

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfBITBUCKET)
SLEEP(3.000)

DIM ID = GETID("ごみ箱")
CTRLWIN(ID, CLOSE)

「スタートメニュー」を開く

CONST ssfSTARTMENU = 11

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfSTARTMENU)
SLEEP(3.000)

DIM ID = GETID("スタート メニュー")
CTRLWIN(ID, CLOSE)

「デスクトップ」を開く

CONST ssfDESKTOPDIRECTORY = 16

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfDESKTOPDIRECTORY)
SLEEP(3.000)

DIM ID = GETID("デスクトップ")
CTRLWIN(ID, CLOSE)

「My Computer」を開く

CONST ssfDRIVES = 17

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfDRIVES)
SLEEP(3.000)

DIM ID = GETID("PC")
CTRLWIN(ID, CLOSE)

「ネットワーク」を開く

CONST ssfNETWORK = 18

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfNETWORK)
SLEEP(3.000)

DIM ID = GETID("ネットワーク")
CTRLWIN(ID, CLOSE)

「ネットワークショートカット」を開く

CONST ssfNETHOOD = 19

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfNETHOOD)
SLEEP(3.000)

DIM ID = GETID("Network Shortcuts")
CTRLWIN(ID, CLOSE)

「フォント」を開く

CONST ssfFONTS = 20

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfFONTS)
SLEEP(3.000)

DIM ID = GETID("Fonts")
CTRLWIN(ID, CLOSE)

「テンプレート」を開く

CONST ssfTEMPLATES = 21

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfTEMPLATES)
SLEEP(3.000)

DIM ID = GETID("Templates")
CTRLWIN(ID, CLOSE)

「スタート メニュー」を開く

CONST ssfCOMMONSTARTMENU = 22

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONSTARTMENU)
SLEEP(3.000)

DIM ID = GETID("スタート メニュー")
CTRLWIN(ID, CLOSE)

「プログラム」を開く

CONST ssfCOMMONPROGRAMS = 23

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONPROGRAMS)
SLEEP(3.000)

DIM ID = GETID("プログラム")
CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfCOMMONSTARTUP = 24

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONSTARTUP)
SLEEP(3.000)

DIM ID = GETID("スタートアップ")
//CTRLWIN(ID, CLOSE)

「パブリックデスクトップ」を開く

CONST ssfCOMMONDESKTOPDIR = 25

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONDESKTOPDIR)
SLEEP(3.000)

DIM ID = GETID("パブリックデスクトップ")
CTRLWIN(ID, CLOSE)

「Roaming」フォルダを開く

CONST ssfAPPDATA = 26

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfAPPDATA)
SLEEP(3.000)

DIM ID = GETID("Roaming")
CTRLWIN(ID, CLOSE)

「Printer Shortcuts」を開く

CONST ssfPRINTHOOD = 27

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPRINTHOOD)
SLEEP(3.000)

DIM ID = GETID("Printer Shortcuts")
CTRLWIN(ID, CLOSE)

「Local」を開く

CONST ssfLOCALAPPDATA = 28

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfLOCALAPPDATA)
SLEEP(3.000)

DIM ID = GETID("Local")
CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfALTSTARTUP = 29

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfALTSTARTUP)
SLEEP(3.000)

DIM ID = GETID("スタートアップ")
//CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfCOMMONALTSTARTUP = 30

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONALTSTARTUP)
SLEEP(3.000)

DIM ID = GETID("スタートアップ")
//CTRLWIN(ID, CLOSE)

「お気に入り」を開く

CONST ssfCOMMONFAVORITES = 31

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONFAVORITES)
SLEEP(3.000)

DIM ID = GETID("お気に入り")
CTRLWIN(ID, CLOSE)

「Temporary Internet Files」を開く

Temporary Internet Fiels = インターネット一時ファイル

CONST ssfINTERNETCACHE = 32

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfINTERNETCACHE)
SLEEP(3.000)

DIM ID = GETID("Temporary Internet Files")
CTRLWIN(ID, CLOSE)

「INetCookies」を開く

INetCookies = Cookieフォルダー

CONST ssfCOOKIES = 33

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOOKIES)
SLEEP(3.000)

DIM ID = GETID("INetCookies")
CTRLWIN(ID, CLOSE)

「History」を開く

CONST ssfHISTORY = 34

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfHISTORY)
SLEEP(3.000)

DIM ID = GETID("History")
CTRLWIN(ID, CLOSE)

「ProgramData」を開く

CONST ssfCOMMONAPPDATA = 35

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfCOMMONAPPDATA)
SLEEP(3.000)

DIM ID = GETID("ProgramData")
CTRLWIN(ID, CLOSE)

「Windows」フォルダを開く

CONST ssfWINDOWS = 36

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfWINDOWS)
SLEEP(3.000)

DIM ID = GETID("Windows")
CTRLWIN(ID, CLOSE)

「System32」を開く

CONST ssfSYSTEM = 37

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfSYSTEM)
SLEEP(3.000)

DIM ID = GETID("System32")
CTRLWIN(ID, CLOSE)

「Program Files」を開く

CONST ssfPROGRAMFILES = 38

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPROGRAMFILES)
SLEEP(3.000)

DIM ID = GETID("Program Files")
CTRLWIN(ID, CLOSE)

「ピクチャ」を開く

CONST ssfMYPICTURES = 39

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfMYPICTURES)
SLEEP(3.000)

DIM ID = GETID("ピクチャ")
CTRLWIN(ID, CLOSE)

「ユーザーフォルダ」を開く

CONST ssfPROFILE = 40

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPROFILE)
SLEEP(3.000)

DIM WshShell = CREATEOLEOBJ("WScript.Shell")
DIM ID = GETID(WshShell.ExpandEnvironmentStrings("%USERNAME%"))
CTRLWIN(ID, CLOSE)

「SysWOW64」フォルダを開く

CONST ssfSYSTEMx86 = 41

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfSYSTEMx86)
SLEEP(3.000)

DIM ID = GETID("SysWOW64")
CTRLWIN(ID, CLOSE)

「Windows 管理ツール」を開く

CONST ssfPROGRAMFILESx86 = 48

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.Explore(ssfPROGRAMFILESx86)
SLEEP(3.000)

DIM ID = GETID("Windows 管理ツール")
CTRLWIN(ID, CLOSE)