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

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

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("control") SLEEP(3.000) DIM ID = GETID("コントロール パネル") CTRLWIN(ID, CLOSE)

アイドル時間を取得

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

ペイントを起動

DIM ID = EXEC("mspaint") SLEEP(3.00) CTRLWIN(ID, CLOSE)

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

Windows 10のストアアプリである電卓は、EXECで起動したときの戻値にIDを返してくれないので起動後にGETIDで取得します。

EXEC("calc") DIM ID = GETID("電卓") SLEEP(3.00) 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(IE) TRY SLEEP(0.500) REPEAT SLEEP(0.010) UNTIL !IE.Busy AND IE.readyState = 4 EXCEPT SLEEP(5.000) ENDTRY 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(IE) TRY SLEEP(0.500) REPEAT SLEEP(0.010) UNTIL !IE.Busy AND IE.readyState = 4 EXCEPT SLEEP(5.000) ENDTRY 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(IE) TRY SLEEP(0.500) REPEAT SLEEP(0.010) UNTIL !IE.Busy AND IE.readyState = 4 EXCEPT SLEEP(5.000) ENDTRY 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 t = GETTIME() REPEAT FOR n = 0 TO Shell.Windows.Count - 1 TRY 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(IE) TRY SLEEP(0.500) REPEAT SLEEP(0.010) UNTIL !IE.Busy AND IE.readyState = 4 EXCEPT SLEEP(5.000) ENDTRY FEND

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

SETHOTKEY(VK_ESC, , "forceQuit") DIM t = GETTIME() WHILE TRUE FUKIDASI(GETTIME() - t) SLEEP(0.001) WEND PROCEDURE forceQuit() EXITEXIT FEND

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

マウスカーソル下の色を取得

// ESCキーで強制終了 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

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

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)

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

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) 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 ////////////////////////////////////////////////// // 【引数】 // 日付 : YYYYMMDD // 【戻値】 // TRUE : 日付として認識できる、FALSE : 日付として認識できない ////////////////////////////////////////////////// FUNCTION isDate(date) 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))$" match = reExecute(date, Pattern) SELECT match.Count CASE 1 res = TRUE CASE 0 res = FALSE SELEND RESULT = res 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

この記事は役に立ちましたか?
役に立った 役に立たなかった