Contents
- 1 MDI
- 2 多重起動防止
- 3 プログラム干渉防止
- 4 引数にIDを使う関数
- 5 よく使うプログラムのクラス名一覧
- 6 プログラム実行例
- 6.1 CLKITEMで操作できる項目を取得
- 6.2 タスクバーの位置を取得する
- 6.3 画像をクリップボードにコピーする
- 6.4 セルに文字列を入力(A1形式)
- 6.5 セルに文字列を入力(R1C1形式)
- 6.6 コントロールパネルを起動する
- 6.7 電卓(ストアアプリ)を起動
- 6.8 マウスカーソル下のウィンドウの情報を吹き出しに表示
- 6.9 マウスカーソル下の文字情報を取得
- 6.10 Outlookが起動していなかったら起動する
- 6.11 ExcelからWordを起動する
- 6.12 アクティブウィンドウの左上にカーソルを移動
- 6.13 「プログラムと機能」を開く
- 6.14 「マウスのプロパティ」を開く
- 6.15 「すべてのコントロール パネル項目」を開く
- 6.16 「プリンター」を開く
- 6.17 「ドキュメント」を開く
- 6.18 「お気に入り」を開く
- 6.19 「スタートアップ」を開く
- 6.20 「最近使った項目」を開く
- 6.21 「送る」を開く
- 6.22 「ごみ箱」を開く
- 6.23 「スタートメニュー」を開く
- 6.24 「デスクトップ」を開く
- 6.25 「My Computer」を開く
- 6.26 「ネットワーク」を開く
- 6.27 「ネットワークショートカット」を開く
- 6.28 「フォント」を開く
- 6.29 「テンプレート」を開く
- 6.30 「スタート メニュー」を開く
- 6.31 「プログラム」を開く
- 6.32 「スタートアップ」を開く
- 6.33 「パブリックデスクトップ」を開く
- 6.34 「Roaming」フォルダを開く
- 6.35 「Printer Shortcuts」を開く
- 6.36 「Local」を開く
- 6.37 「スタートアップ」を開く
- 6.38 「スタートアップ」を開く
- 6.39 「お気に入り」を開く
- 6.40 「Temporary Internet Files」を開く
- 6.41 「INetCookies」を開く
- 6.42 「History」を開く
- 6.43 「ProgramData」を開く
- 6.44 「Windows」フォルダを開く
- 6.45 「System32」を開く
- 6.46 「Program Files」を開く
- 6.47 「ピクチャ」を開く
- 6.48 「ユーザーフォルダ」を開く
- 6.49 「SysWOW64」フォルダを開く
- 6.50 「Windows 管理ツール」を開く
- 6.51 マウスカーソル下のウィンドウの左上の座標に移動する
- 6.52 ファイル名を指定して実行で「ごみ箱」を開く
GETID関数は、指定したウィンドウのIDを取得する関数です。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。UWSCでウィンドウを操作するのによく使う関数です。
引数に指定するタイトル・クラス名は、STATUS関数の第二引数にST_TITLE・ST_CLASSを指定するとこで取得することもできます。
指定したウィンドウを取得できない場合は-1を返すので、ウィンドウの存在有無を確かめることもできます。
- 構文
- Integer = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] )
- 引数
- タイトル
- 識別したいウィンドウのタイトル (タイトルの一部分だけでもOK)
- クラス名
- 区別に必要でなければ省略して構いません (前方一致でのみ部分指定可)
- 待ち時間秒
- 確認できるまで指定された秒数待ちます(0.01~)
- 0
- 0.1~10秒まで状況や負荷により自動判断 (デフォルト)
- -1
- 無期限待ち
- MDI子タイトル
- MDIウィンドウ中の子ウィンドウタイトル
- 戻値
そのウィンドウを識別するID (NGの時は -1)
GETID は始めに完全一致のウィンドウを探します。見つからなければ次に部分一致のウィンドウを探します。
特別なウィンドウの指定
- GET_ACTIVE_WIN
- アクティブウィンドウを返します
- GET_FROMPOINT_WIN
- マウスカーソル下のウィンドウ
- GET_FROMPOINT_OBJ
- マウスカーソル下のオブジェクト
- GET_THISUWSC_WIN
- UWSC自身
- GET_LOGPRINT_WIN
- ログ表示用ウィンドウ
- GET_BALLOON_WIN
- ふきだし用ウィンドウ(GET_FUKIDASI_WIN でも可)
- GET_FORM_WIN
- フォーム画面ウィンドウ
- GET_FORM_WIN2
- フォーム画面ウィンドウ2
- GET_SCHEDULE_WIN
- スケジュール"指定Windowが現れた時"でキャッチしたウィンドウ('別プロセス実行'時はNG)
MDI
MDIとはMultiple Document Interface (マルチ・ドキュメント・インタフェース)の略で、親ウィンドウ内に複数の子ウィンドウを持つアプリケーションのことです。
わかりやすいものとしてはExcelが子ウィンドウを持つアプリケーションで、「Microsoft Excel」が親ウィンドウ(GETIDのタイトル)、「ブック名(Book1, Book2など)」が子ウィンドウ(GETIDのMDI子タイトル)です。
以下はExcelで新しいブックを開き、開いたブックを閉じてからExcelウィンドウを閉じるプログラムです。
DIM Excel = CREATEOLEOBJ(“Excel.Application”)
Excel.Visible = TRUE
Excel.Workbooks.Add
SLEEP(3.00)
DIM ID = GETID(“Microsoft Excel”, , , Excel.ActiveWorkbook.Name) // アクティブウィンドウ(Book1)のIDを取得
CTRLWIN(ID, CLOSE) // Book1を閉じる
Excel.Quit // Excelを閉じる
以下はMDIを使用したアプリケーションの例です。
- Adobe Photoshop (CS4以降はMDIではなくTDIが標準となった)
- Eudora
- Microsoft Word
- Microsoft Excel(Excel 2010まで[4])
- 一太郎
- Opera
- Sleipnir
- PSPad
多重起動防止
プログラムの先頭に以下のプログラムを書くと多重起動を防止できます。最初に起動したプログラムはそのまま処理を続行し、後から起動したプログラムは終了します。
IF GETID(GET_UWSC_NAME, “クラス名”) <> -1 THEN EXIT
プログラム干渉防止
他のUWSCプログラムが起動・動作しているとき、そのプログラムが終了するまで待機する。3つ以上起動している時の挙動は未確認。
REPEAT
SLEEP(0.001)
UNTIL GETID(“UWSC”, “TUScript”) = -1
引数にIDを使う関数
- CHKBTN
- CLKITEM
- CTRLWIN
- DROPFILE
- GETALLWIN
- GETCTLHND
- GETITEM
- GETSLCTLST
- GETSLIDER
- GETSTR
- IDTOHND
- LOCKHARDEX
- MOUSEORG
- POSACC
- SAVEIMG
- SCKEY
- SENDSTR
- SETSLIDER
- STATUS
よく使うプログラムのクラス名一覧
-
- プログラム
- Internet Explorer
- クラス名
- IEFrame
-
- プログラム
- Google Chrome
- クラス名
- Chrome_WidgetWin_1
-
- プログラム
- Mozilla Firefox
- クラス名
- MozillaWindowClass
-
- プログラム
- Microsoft Edge
- クラス名
- ApplicationFrameWindow
-
- プログラム
- ユーザー アカウント制御
- クラス名
- Credential Dialog Xaml Host
-
- プログラム
- タスク マネージャー
- クラス名
- TaskManagerWindow
-
- プログラム
- メモ帳
- クラス名
- Notepad
-
- プログラム
- ペイント
- クラス名
- MSPaintApp
-
- プログラム
- Microsoft Excel
- クラス名
- XLMAIN
-
- プログラム
- Microsoft Word
- クラス名
- OpusApp
-
- プログラム
- Microsoft Outlook
- クラス名
- rctrl_renwnd32
-
- プログラム
- UWSC Debugger
- クラス名
- TFOya
-
- プログラム
- UWSC Pro
- クラス名
- TUMain_uwsc
-
- プログラム
- ダイアログ(ファイルを開く、名前を付けて保存などのウィンドウ)
- クラス名
- #32770
-
- プログラム
- UWSCのFUKIDASI関数で表示される吹き出し
- クラス名
- TFfukidsi
-
- プログラム
- UWSCのINPUT関数で表示されるウィンドウ
- クラス名
- TUinpBox_uwsc
-
- プログラム
- デスクトップ通知
- クラス名
- NUIDialog
-
- プログラム
- アクション センター
- クラス名
- Windows.UI.Core.CoreWindow
-
- プログラム
- タスクトレイ
- クラス名
- Shell_TrayWnd
プログラム実行例
CLKITEMで操作できる項目を取得
HASHTBL NAME
NAME[ITM_BTN] = "ITM_BTN"
NAME[ITM_LIST] = "ITM_LIST"
NAME[ITM_TAB] = "ITM_TAB"
NAME[ITM_MENU] = "ITM_MENU"
NAME[ITM_TREEVIEW] = "ITM_TREEVIEW"
NAME[ITM_LISTVIEW] = "ITM_LISTVIEW"
NAME[ITM_EDIT] = "ITM_EDIT"
NAME[ITM_STATIC] = "ITM_STATIC"
NAME[ITM_STATUSBAR] = "ITM_STATUSBAR"
NAME[ITM_TOOLBAR] = "ITM_TOOLBAR"
NAME[ITM_LINK] = "ITM_LINK"
NAME[ITM_ACCCLK] = "ITM_ACCCLK"
NAME[ITM_ACCCLK2] = "ITM_ACCCLK2"
NAME[ITM_ACCTXT] = "ITM_ACCTXT"
NAME[ITM_ACCEDIT] = "ITM_ACCEDIT"
NAME[ITM_FROMLAST] = "ITM_FROMLAST"
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
WHILE TRUE
FUKIDASI("ALT+Sでカーソル下の情報を取得します<#CR>ESCで終了")
IF GETKEYSTATE(VK_ALT) AND GETKEYSTATE(VK_S) THEN BREAK
WEND
FUKIDASI("取得中")
DIM ID = GETID(GET_FROMPOINT_WIN)
PRINT "DIM ID = GETID(<#DBL>" + STATUS(ID, ST_TITLE) + "<#DBL>, <#DBL>" + STATUS(ID, ST_CLASS) + "<#DBL>)"
PRINT
DIM items[] = ITM_BTN, ITM_LIST, ITM_TAB, ITM_MENU, ITM_TREEVIEW, ITM_LISTVIEW, ITM_EDIT, ITM_STATIC, ITM_STATUSBAR, ITM_TOOLBAR, ITM_LINK, ITM_ACCCLK, ITM_ACCCLK2, ITM_ACCTXT, ITM_ACCEDIT, ITM_FROMLAST
FOR item IN items
PRINT "// [" + NAME[item] + "]"
FOR arr IN GETITEM(ID, item)
PRINT "CLKITEM(ID, <#DBL>" + arr + "<#DBL>, " + NAME[item] + ")"
NEXT
PRINT
NEXT
//////////////////////////////////////////////////
// 【引数】
//
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE forceQuit()
EXITEXIT
FEND
解説
- 1行目
連想配列NAMEを宣言。HASHTBL NAME
- 3-18行目
NAME[ITM_BTN] = "ITM_BTN" NAME[ITM_LIST] = "ITM_LIST" NAME[ITM_TAB] = "ITM_TAB" NAME[ITM_MENU] = "ITM_MENU" NAME[ITM_TREEVIEW] = "ITM_TREEVIEW" NAME[ITM_LISTVIEW] = "ITM_LISTVIEW" NAME[ITM_EDIT] = "ITM_EDIT" NAME[ITM_STATIC] = "ITM_STATIC" NAME[ITM_STATUSBAR] = "ITM_STATUSBAR" NAME[ITM_TOOLBAR] = "ITM_TOOLBAR" NAME[ITM_LINK] = "ITM_LINK" NAME[ITM_ACCCLK] = "ITM_ACCCLK" NAME[ITM_ACCCLK2] = "ITM_ACCCLK2" NAME[ITM_ACCTXT] = "ITM_ACCTXT" NAME[ITM_ACCEDIT] = "ITM_ACCEDIT" NAME[ITM_FROMLAST] = "ITM_FROMLAST"
- 20行目
ESCキーでforceQuit関数を実行。SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
- 22-25行目
「ALT+S」が入力されるのを待つ。WHILE TRUE FUKIDASI("ALT+Sでカーソル下の情報を取得します<#CR>ESCで終了") IF GETKEYSTATE(VK_ALT) AND GETKEYSTATE(VK_S) THEN BREAK WEND
- 26行目
吹き出しを表示。FUKIDASI("取得中")
- 28行目
マウスカーソル下のウィンドウのIDを取得。DIM ID = GETID(GET_FROMPOINT_WIN)
- 33行目
DIM items[] = ITM_BTN, ITM_LIST, ITM_TAB, ITM_MENU, ITM_TREEVIEW, ITM_LISTVIEW, ITM_EDIT, ITM_STATIC, ITM_STATUSBAR, ITM_TOOLBAR, ITM_LINK, ITM_ACCCLK, ITM_ACCCLK2, ITM_ACCTXT, ITM_ACCEDIT, ITM_FROMLAST
- 35-41行目
FOR item IN items PRINT "// [" + NAME[item] + "]" FOR arr IN GETITEM(ID, item) PRINT "CLKITEM(ID, <#DBL>" + arr + "<#DBL>, " + NAME[item] + ")" NEXT PRINT NEXT
タスクバーの位置を取得する
DIM ID = GETID("", "Shell_TrayWnd")
SELECT TRUE
CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLWIDTH) = G_SCREEN_W
PRINT "上"
CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLHEIGHT) = G_SCREEN_H
PRINT "左"
CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) <> 0 AND STATUS(ID, ST_CLWIDTH) = G_SCREEN_W
PRINT "下"
CASE STATUS(ID, ST_X) <> 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLHEIGHT) = G_SCREEN_H
PRINT "右"
SELEND
解説
- 1行目
タスクバーのIDを取得。DIM ID = GETID("", "Shell_TrayWnd")
- 3-12行目
SELECT TRUE CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLWIDTH) = G_SCREEN_W PRINT "上" CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLHEIGHT) = G_SCREEN_H PRINT "左" CASE STATUS(ID, ST_X) = 0 AND STATUS(ID, ST_Y) <> 0 AND STATUS(ID, ST_CLWIDTH) = G_SCREEN_W PRINT "下" CASE STATUS(ID, ST_X) <> 0 AND STATUS(ID, ST_Y) = 0 AND STATUS(ID, ST_CLHEIGHT) = G_SCREEN_H PRINT "右" SELEND
画像をクリップボードにコピーする
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行目
Alt+SでimageToClipboard関数を実行します。SETHOTKEY(VK_S, MOD_ALT, "imageToClipboard")
- 2行目
EscでforceQuit関数を実行します。SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
- 4-6行目
無限ループ。Alt+SもしくはEscが入力されるのを待機します。WHILE TRUE SLEEP(0.01) WEND
セルに文字列を入力(A1形式)
DIM EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Visible = TRUE
ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)
EXCEL.Workbooks.Add()
EXCEL.Range("A1").Value = "UWSC"
//EXCEL.DisplayAlerts = FALSE
//EXCEL.Quit
解説
- 1-2行目
Excelを起動する。DIM EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE
- 4-5行目
Excelをアクティブ化する。ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE)
- 7行目
新規ブックの作成。EXCEL.Workbooks.Add()
- 8行目
セルA1に「UWSC」と代入。EXCEL.Range("A1").Value = "UWSC"
- 10行目
終了時に確認メッセージを表示しない。//EXCEL.DisplayAlerts = FALSE
- 11行目
Excelを終了する。//EXCEL.Quit
セルに文字列を入力(R1C1形式)
EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.Visible = TRUE
ID = GETID("Microsoft Excel")
CTRLWIN(ID, ACTIVATE)
EXCEL.Workbooks.Add()
EXCEL.Cells(1, 1).Value = "UWSC"
//EXCEL.DisplayAlerts = FALSE
//EXCEL.Quit
解説
- 1-2行目
Excelを起動。EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE
- 4-5行目
Excelをアクティブ化ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE)
- 7行目
新規ブックの作成EXCEL.Workbooks.Add()
- 8行目
A1セルに「UWSC」と代入する。EXCEL.Cells(1, 1).Value = "UWSC"
- 10行目
確認メッセージを表示しない。//EXCEL.DisplayAlerts = FALSE
- 11行目
Excelを終了する。//EXCEL.Quit
コントロールパネルを起動する
DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ControlPanelItem("control")
SLEEP(3.000)
DIM ID = GETID("コントロール パネル")
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
マウスカーソル下の文字情報を取得
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
WHILE TRUE
DIM x = G_MOUSE_X
DIM y = G_MOUSE_Y
DIM ID = GETID(GET_FROMPOINT_WIN)
FUKIDASI(POSACC(ID, x - STATUS(ID, ST_CLX), y - STATUS(ID, ST_CLY), ACC_BACK))
SLEEP(0.001)
WEND
//////////////////////////////////////////////////
// 【引数】
//
// 【戻値】
//
//////////////////////////////////////////////////
PROCEDURE forceQuit()
EXITEXIT
FEND
Outlookが起動していなかったら起動する
IF GETID(, "rctrl_renwnd32") = -1 THEN DOSCMD("start outlook")
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 ID = GETID(GET_ACTIVE_WIN)
DIM x = STATUS(ID, ST_X)
DIM y = STATUS(ID, ST_Y)
MMV(x, y)
「プログラムと機能」を開く
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("main.cpl")
SLEEP(3.000)
DIM ID = GETID("マウスのプロパティ", "#32770")
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)
マウスカーソル下のウィンドウの左上の座標に移動する
MOUSEORG(GETID(GET_FROMPOINT_WIN))
MMV(0, 0)
ファイル名を指定して実行で「ごみ箱」を開く
DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.FileRun
DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "shell:RecycleBinFolder")
CLKITEM(ID, "OK", ITM_BTN)
解説
- 1行目
Shellオブジェクトを生成する。DIM Shell = CREATEOLEOBJ("Shell.Application")
- 2行目
「ファイル名を指定して実行」ウィンドウを開く。Shell.FileRun
- 4行目
「ファイル名を指定して実行」のIDを取得。「#32770」はダイアログのクラス名を示しています。DIM ID = GETID("ファイル名を指定して実行", "#32770")
- 5行目
「shell:RecycleBinFolder」と入力する。SENDSTR(ID, "shell:RecycleBinFolder")
- 6行目
「OK」ボタンをクリックする。CLKITEM(ID, "OK", ITM_BTN)