CLKITEM

指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。

構文
  1. Boolean = CLKITEM( ID, アイテム名, [種別, On/Off, 番号] )
引数
ID
Windowを識別するID
アイテム名
ボタン、チェックボックス、ラジオボタンのキャプションの文字 もしくは リストボックス、コンボボックスの選択名 もしくは タブ名 もしくは メニュー項目名 もしくは ツリービュー項目、リストビュー項目 もしくは ツールバー上のボタン名
種別
チェックするアイテム種別
CLK_BTN
ボタン、チェックボックス、ラジオボタン
CLK_LIST
リストボックス、コンボボックス
CLK_TAB
タブコントロール
CLK_MENU
メニュー
CLK_TREEVIEW
ツリービュー (CLK_TREEVEWでも可)
CLK_LISTVIEW
リストビュー (CLK_LSTVEWでも可)
CLK_TOOLBAR
ツールバー
CLK_LINK
リンク
CLK_ACC
アクセシビリティ用インターフェースを利用したクリック
追加オプション
CLK_SHORT
文字省略指定: 部分一致にて検索 (例:CLK_LIST or CLK_SHORT)
CLK_BACK
バックグランド実行: ウィンドウをアクティブ化しません
CLK_MUSMOVE
マウス移動: マウスをその場所に移動(CLK_MOUSEMOVE でも可)
CLK_RIGHTCLK
右クリック: アイテムにより右クリックの動作
CLK_LEFTCLK
左クリック: アイテムにより左クリックの動作
CLK_DBLCLK
ダブルクリック:2段目のクリック動作(1段目としてCLK_LEFTCLK が必要)
CLK_FROMLAST
後ろからサーチ: CLK_ACC 指定時にアイテムを後ろからサーチ
CLK_API
API インターフェースのみを使用
CLK_UIA
UI Automation インターフェースのみを使用
On/Off
チェックボックス, メニューでのチェック、およびクリック動作 True=On、False=Off(デフォルトはOn)
番号
同名のアイテム名がある場合のオブジェクト順番 (左上から数えたオブジェクト順番[1から指定])
戻り値

TRUE:正常、 FALSE:処理不能

アイテム名の最後に付くニーモニック[(&A)、(&B)...、(&C):等]は要りません

種別:省略時は BTN ->LIST ->TAB ->MENU ->TREEVEW ->LSTVEW ->TOOLBAR ->LINK の順でサーチ

インターフェース指定が無い場合は API ->UIA ->ACC の順でサーチ

メニュー, ツリービュー, スプリットボタン: \ にてパス指定表記可
(例:\TOP\TEMP\FILE )ぶつかる物がなければパス指定は不要

リストボックス: 複数選択の場合は タブにて アイテム名を繋げる

Internet Explorer

前回のブラウズ セッションは予期せずに終了しました。

DIM ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “セッションの復元”, CLK_BTN)

アドオンを無効にすることで、閲覧の速度を上げます。

ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “アドオンの選択”, CLK_BTN)

***は応答してません。

ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “Web ページの回復”, CLK_BTN)

セキュリティで保護されているコンテンツのみ表示されます。

DIM ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “すべてのコンテンツを表示”, CLK_BTN)

Internet Explorer は応答していません。

このページから移動しますか?

DIM ID = GETID(“Windows Internet Explorer”, “#32770”)
CLKITEM(ID, “このページから移動”, CLK_BTN)
CLKITEM(ID, “ページに留まる”, CLK_BTN)

***のダウンロードが完了しました。

DIM ID = GETID(“Vector:UWSC (Windows10/8/7/Vista/XP/2000/NT / ユーティリティ) – Internet Explorer”, “IEFrame”)
CLKITEM(ID, “フォルダーを開く”, CLK_BTN)
CLKITEM(ID, “ダウンロードの表示”, CLK_BTN)
CLKITEM(ID, “閉じる”, CLK_BTN)

***で行う操作を選んでください。

DIM ID = GETID(“Internet Explorer”, “#32770”)
CLKITEM(ID, “開く”, CLK_BTN)
CLKITEM(ID, “保存”, CLK_BTN)
CLKITEM(ID, “名前を付けて保存”, CLK_BTN)
CLKITEM(ID, “キャンセル”, CLK_BTN)

[名前を付けて保存]ダイアログボックス

DIM ID = GETID(“名前を付けて保存”, “#32770”)

CLKITEM(ID, “クイック アクセス”, ITM_TREEVIEW)
CLKITEM(ID, “クイック アクセス\デスクトップ”, ITM_TREEVIEW)
CLKITEM(ID, “クイック アクセス\ドキュメント”, ITM_TREEVIEW)
CLKITEM(ID, “クイック アクセス\ダウンロード”, ITM_TREEVIEW)
CLKITEM(ID, “クイック アクセス\ピクチャ”, ITM_TREEVIEW)
CLKITEM(ID, “クイック アクセス\Google ドライブ”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\3D オブジェクト”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ダウンロード”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\デスクトップ”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ドキュメント”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ピクチャ”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ビデオ”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ミュージック”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\ローカル ディスク (C:)”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\Multimedia (\\192.168.3.23) (M:)”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\PC\Public (\\192.168.3.23) (P:)”, ITM_TREEVIEW)
CLKITEM(ID, “デスクトップ\ネットワーク”, ITM_TREEVIEW

例えば「PC\ドキュメント」を開くときは以下のように記述します。CLKITEM関数では項目が選択されるだけで開かれないのでEnterキーで開きます。

DIM ID = GETID(“名前を付けて保存”, “#32770”)

CTRLWIN(ID, ACTIVATE)
SLEEP(0.500)

CLKITEM(ID, “デスクトップ\PC\ドキュメント”, ITM_TREEVIEW)
SCKEY(ID, VK_ENTER)

CLKITEM記述例

以下のプログラムは、CLKITEMで操作することができるすべての項目を記載しています。そのため実行するときは必要な箇所のみ抽出してご利用ください。メモ帳で「ファイル→新規」をクリックさせたい場合以下のようになります。

DIM ID = GETID(“メモ帳”, “Notepad”)
CLKITEM(ID, “ファイル\開く”, CLK_MENU)

また、各1行目にある「DIM ID = GETID(〜)」の部分は開いているファイルによってタイトルが変わることがありますので各自書き換えてください。例えば、メモ帳の場合は「(ファイル名) – メモ帳」というタイトルになるので(ファイル名)の部分に操作したいファイル名を入力してください。

メモ帳

メモ帳
DIM ID = GETID(“無題 – メモ帳”, “Notepad”)

// [CLK_BTN]
CLKITEM(ID, “1 行上”, CLK_BTN)
CLKITEM(ID, “1 行下”, CLK_BTN)
CLKITEM(ID, “最小化”, CLK_BTN)
CLKITEM(ID, “最大化”, CLK_BTN)
CLKITEM(ID, “閉じる”, CLK_BTN)

// [CLK_LIST]

// [CLK_MENU]
CLKITEM(ID, “ファイル\新規”, CLK_MENU)
CLKITEM(ID, “ファイル\新しいウィンドウ”, CLK_MENU)
CLKITEM(ID, “ファイル\開く”, CLK_MENU)
CLKITEM(ID, “ファイル\上書き保存”, CLK_MENU)
CLKITEM(ID, “ファイル\名前を付けて保存”, CLK_MENU)
CLKITEM(ID, “ファイル\ページ設定”, CLK_MENU)
CLKITEM(ID, “ファイル\印刷”, CLK_MENU)
CLKITEM(ID, “ファイル\メモ帳の終了”, CLK_MENU)
CLKITEM(ID, “編集\元に戻す”, CLK_MENU)
CLKITEM(ID, “編集\切り取り”, CLK_MENU)
CLKITEM(ID, “編集\コピー”, CLK_MENU)
CLKITEM(ID, “編集\貼り付け”, CLK_MENU)
CLKITEM(ID, “編集\削除”, CLK_MENU)
CLKITEM(ID, “編集\Bing で検索”, CLK_MENU)
CLKITEM(ID, “編集\検索”, CLK_MENU)
CLKITEM(ID, “編集\次を検索”, CLK_MENU)
CLKITEM(ID, “編集\前を検索”, CLK_MENU)
CLKITEM(ID, “編集\置換”, CLK_MENU)
CLKITEM(ID, “編集\行へ移動”, CLK_MENU)
CLKITEM(ID, “編集\すべて選択”, CLK_MENU)
CLKITEM(ID, “編集\日付と時刻”, CLK_MENU)
CLKITEM(ID, “書式\右端で折り返す”, CLK_MENU)
CLKITEM(ID, “書式\フォント”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\拡大”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\縮小”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\既定の倍率に戻す”, CLK_MENU)
CLKITEM(ID, “表示\ステータス バー”, CLK_MENU)
CLKITEM(ID, “ヘルプ\ヘルプの表示”, CLK_MENU)
CLKITEM(ID, “ヘルプ\フィードバックの送信”, CLK_MENU)
CLKITEM(ID, “ヘルプ\バージョン情報”, CLK_MENU)

// [CLK_LISTVIEW]

// [CLK_TOOLBAR]
CLKITEM(ID, “ファイル”, CLK_TOOLBAR)
CLKITEM(ID, “編集”, CLK_TOOLBAR)
CLKITEM(ID, “書式”, CLK_TOOLBAR)
CLKITEM(ID, “表示”, CLK_TOOLBAR)
CLKITEM(ID, “ヘルプ”, CLK_TOOLBAR)

// [CLK_LINK]

ファイル名を指定して実行

ファイル名を指定して実行
DIM ID = GETID(“ファイル名を指定して実行”, “#32770”)

// [CLK_BTN]
CLKITEM(ID, “OK”, CLK_BTN)
CLKITEM(ID, “キャンセル”, CLK_BTN)
CLKITEM(ID, “参照”, CLK_BTN)

// [CLK_LIST]
CLKITEM(ID, “mspaint”, CLK_LIST)
CLKITEM(ID, “winword”, CLK_LIST)
CLKITEM(ID, “regedit”, CLK_LIST)
CLKITEM(ID, “cmd”, CLK_LIST)
CLKITEM(ID, “shutdown /r /t 0”, CLK_LIST)
CLKITEM(ID, “notepad”, CLK_LIST)

// [CLK_MENU]

// [CLK_LISTVIEW]

// [CLK_TOOLBAR]

// [CLK_LINK]

プログラム実行例

CLKITEMで操作できる項目を取得

PUBLIC flg = FALSE

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
SETHOTKEY(VK_X, MOD_ALT, "flag")

DIM array[] = "BTN", "LIST", "TAB", "MENU", "TREEVIEW", + _
				"LISTVIEW", "EDIT", "STATIC", "STATUSBAR", "TOOLBAR", + _
				"LINK", "ACCCLK", "ACCCLK2", "ACCTXT", "ACCEDIT", + _
				"FROMLAST", "BACK"

REPEAT
	FUKIDASI("Alt + Xでカーソル下の情報を取得")
	SLEEP(0.001)
UNTIL flg

FUKIDASI("取得中")

DIM ID = GETID(GET_FROMPOINT_WIN)

PRINT "DIM ID = GETID(<#DBL>" + STATUS(ID, ST_TITLE) + "<#DBL>, <#DBL>" + STATUS(ID, ST_CLASS) + "<#DBL>)"
PRINT

FOR item IN array
	PRINT "// [" + item + "]" 
	FOR class IN GETITEM(ID, EVAL("ITM_" + item), -1)
		PRINT "CLKITEM(ID, <#DBL>" + class + "<#DBL>, CLK_" + item + ")"
	NEXT
	PRINT
NEXT

PROCEDURE forceQuit()
	EXITEXIT
FEND

PROCEDURE flag()
	flg = TRUE
FEND
  1. SETHOTKEY
  2. FUKIDASI
  3. SLEEP
  4. GETID
  5. STATUS
  6. GETITEM
  7. EVAL
  8. CLKITEM
解説
  1. 1行目
    PUBLIC flg = FALSE
    Alt+Xの入力を検知するための変数。
  2. 3行目
    SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")
    ESCキーが入力されたらforceQuit関数を呼び出す。
  3. 4行目
    SETHOTKEY(VK_X, MOD_ALT, "flag")
    Alt+Xが入力されたらflag関数を呼び出し、変数flgにTrueを代入。
  4. 11-14行目
    REPEAT
    	FUKIDASI("Alt + Xでカーソル下の情報を取得")
    	SLEEP(0.001)
    UNTIL flg
    変数flgにTrueが代入されるまで待機する。
  5. 18行目
    DIM ID = GETID(GET_FROMPOINT_WIN)
    マウスカーソル下のウィンドウのIDを取得する。
  6. 20行目
    PRINT "DIM ID = GETID(" + STATUS(ID, ST_TITLE) + ", " + STATUS(ID, ST_CLASS) + ")"
    マウスカーソル下のウィンドウのタイトルとクラス名を出力。
  7. 23,29行目
    FOR item IN array
    	…
    NEXT
    配列arrayの要素数だけループ。
  8. 25-27行目
    	FOR class IN GETITEM(ID, EVAL("ITM_" + item), -1)
    		PRINT "CLKITEM(ID, " + class + ", CLK_" + item + ")"
    	NEXT
    第二引数に指定した項目のキャプションやリスト等を取得する。For In構文に指定した場合は各要素が返されます。

ファイル名を指定して実行で「ごみ箱」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.FileRun

DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "shell:RecycleBinFolder")
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.FileRun
  3. GETID
  4. SENDSTR
  5. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成する。
  2. 2行目
    Shell.FileRun
    「ファイル名を指定して実行」ウィンドウを開く。
  3. 4行目
    DIM ID = GETID("ファイル名を指定して実行", "#32770")
    「ファイル名を指定して実行」のIDを取得。「#32770」はダイアログのクラス名を示しています。
  4. 5行目
    SENDSTR(ID, "shell:RecycleBinFolder")
    「shell:RecycleBinFolder」と入力する。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    「OK」ボタンをクリックする。

メモ帳に本文を入力し[名前を付けて保存]ダイアログボックスを開いて保存する

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM path = "D:\Desktop\sample.txt"
DIM folderspec = FSO.GetParentFolderName(path)
DIM filename = FSO.GetFileName(path)

EXEC("notepad")
DIM ID = GETID("メモ帳", "Notepad")
SENDSTR(ID, "内容", 0)
CLKITEM(ID, "ファイル\名前を付けて保存", CLK_MENU)

IFB FSO.FolderExists(folderspec) THEN
	DIM ID2 = GETID("名前を付けて保存", "#32770")

	CTRLWIN(ID2, ACTIVATE)
	SLEEP(0.500)

	SCKEY(ID2, VK_F4)
	SENDSTR(ID2, folderspec, 1, TRUE)
	SCKEY(ID2, VK_RETURN)
	SLEEP(0.500)

	SCKEY(ID2, VK_ALT, VK_N)
	SENDSTR(ID2, filename, 1, TRUE)
	SLEEP(0.500)

	CLKITEM(ID, "保存", ITM_BTN)
ELSE
	PRINT "フォルダが存在しません。"
ENDIF
  1. CREATEOLEOBJ
  2. FSO.GetParentFolderName
  3. FSO.GetFileName
  4. EXEC
  5. GETID
  6. SENDSTR
  7. CLKITEM
  8. FSO.FolderExists
  9. CTRLWIN
  10. SLEEP
  11. SCKEY
解説
  1. 1行目
    DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
    FileSystemObjectオブジェクトを生成。
  2. 2行目
    DIM path = "D:\Desktop\sample.txt"
    保存先のパスを指定。
  3. 3行目
    DIM folderspec = FSO.GetParentFolderName(path)
    パスからフォルダ部分を取得。
  4. 4行目
    DIM filename = FSO.GetFileName(path)
    パスからファイル名を取得。
  5. 6行目
    EXEC("notepad")
    メモ帳を起動。
  6. 7行目
    DIM ID = GETID("メモ帳", "Notepad")
    メモ帳のIDを取得。
  7. 8行目
    SENDSTR(ID, "内容", 0)
    メモ帳に文章を入力。
  8. 9行目
    CLKITEM(ID, "ファイル\名前を付けて保存", CLK_MENU)
    [名前を付けて保存]を実行。
  9. 11,27,29行目
    IFB FSO.FolderExists(folderspec) THEN
    	…
    ELSE
    	…
    ENDIF
    変数pathに指定したフォルダが存在したら12行目>>>、存在しなければ28行目>>>
  10. 12行目
    	DIM ID2 = GETID("名前を付けて保存", "#32770")
    [名前を付けて保存]ダイアログボックスのIDを取得。
  11. 14行目
    	CTRLWIN(ID2, ACTIVATE)
    [名前を付けて保存]ウインドウをアクティブ化する。
  12. 15行目
    	SLEEP(0.500)
    0.500秒待機する。
  13. 17行目
    	SCKEY(ID2, VK_F4)
    F4キーでアドレスバーを選択。
  14. 18行目
    	SENDSTR(ID2, folderspec, 1, TRUE)
    フォルダ名を入力。
  15. 19行目
    	SCKEY(ID2, VK_RETURN)
    Enterキーで確定・移動。
  16. 20行目
    	SLEEP(0.500)
    0.500秒待機する。
  17. 22行目
    	SCKEY(ID2, VK_ALT, VK_N)
    Alt+Nでファイル名を選択。
  18. 23行目
    	SENDSTR(ID2, filename, 1, TRUE)
    ファイル名を入力。
  19. 24行目
    	SLEEP(0.500)
    0.500秒待機する。
  20. 26行目
    	CLKITEM(ID, "保存", ITM_BTN)
    [保存]ボタンをクリックする。

電卓を操作し計算した結果を取得

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

DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"

FOR item IN array
	CLKITEM(ID, item, ITM_BTN)
NEXT

FOR item IN GETITEM(ID, ITM_STATIC)
	IFB POS("表示は ", item) AND POS(" です", item) THEN
		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
	ENDIF
NEXT

CTRLWIN(ID, CLOSE)
  1. EXEC
  2. GETID
  3. CLKITEM
  4. GETITEM
  5. POS
  6. VAL
  7. REPLACE
  8. CTRLWIN
結果
18.4
解説
  1. 1行目
    EXEC("calc")
    電卓を起動。
  2. 2行目
    DIM ID = GETID("電卓")
    IDを取得。
  3. 4行目
    DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"
    入力するアイテム名の配列。
  4. 6-8行目
    FOR item IN array
    	CLKITEM(ID, item, ITM_BTN)
    NEXT
    配列に格納されているアイテムを順に実行。
  5. 10-14行目
    FOR item IN GETITEM(ID, ITM_STATIC)
    	IFB POS("表示は ", item) AND POS(" です", item) THEN
    		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
    	ENDIF
    NEXT
    計算結果はGETITEM関数で取得すると「表示は 〇〇 です」の形式なので、「表示は 」と「 です」が含まれるアイテムを取得し、余計な文字列を削除。
  6. 16行目
    CTRLWIN(ID, CLOSE)
    電卓を閉じる。

ユーザーの切り替え

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "ユーザーの切り替え", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成。
  2. 2行目
    Shell.ShutdownWindows()
    [Windowsのシャットダウン]ダイアログボックスを表示します。
  3. 4行目
    DIM ID = GETID("Windows のシャットダウン", "#32770")
    開いたダイアログボックスのIDを取得。
  4. 5行目
    CLKITEM(ID, "ユーザーの切り替え", ITM_LIST)
    リストボックスから[ユーザー切り替え]を選択。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    [OK]ボタンを選択。

サインアウト

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "サインアウト", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成。
  2. 2行目
    Shell.ShutdownWindows()
    [Windowsのシャットダウン]ダイアログボックスを表示します。
  3. 4行目
    DIM ID = GETID("Windows のシャットダウン", "#32770")
    開いたダイアログボックスのIDを取得。
  4. 5行目
    CLKITEM(ID, "サインアウト", ITM_LIST)
    リストボックスから[サインアウト]を選択。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    [OK]ボタンを選択。

スリープ

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "スリープ", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成。
  2. 2行目
    Shell.ShutdownWindows()
    [Windowsのシャットダウン]ダイアログボックスを表示します。
  3. 4行目
    DIM ID = GETID("Windows のシャットダウン", "#32770")
    開いたダイアログボックスのIDを取得。
  4. 5行目
    CLKITEM(ID, "スリープ", ITM_LIST)
    リストボックスから[スリープ]を選択。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    [OK]ボタンを選択。

シャットダウン

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "シャットダウン", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成。
  2. 2行目
    Shell.ShutdownWindows()
    [Windowsのシャットダウン]ダイアログボックスを表示します。
  3. 4行目
    DIM ID = GETID("Windows のシャットダウン", "#32770")
    開いたダイアログボックスのIDを取得。
  4. 5行目
    CLKITEM(ID, "シャットダウン", ITM_LIST)
    リストボックスから[シャットダウン]を選択。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    [OK]ボタンを選択。

再起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "再起動", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    Shellオブジェクトを生成。
  2. 2行目
    Shell.ShutdownWindows()
    [Windowsのシャットダウン]ダイアログボックスを表示します。
  3. 4行目
    DIM ID = GETID("Windows のシャットダウン", "#32770")
    開いたダイアログボックスのIDを取得。
  4. 5行目
    CLKITEM(ID, "再起動", ITM_LIST)
    リストボックスから[再起動]を選択。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    [OK]ボタンを選択。

メモ帳の書式を開き、現在設定されているフォント名・スタイル・サイズ・文字セットを取得

DIM ID = EXEC("notepad")
CLKITEM(ID, "書式\フォント")
DIM ID2 = GETID("フォント")

DIM i = 1
DIM cnt = 0
REPEAT
	DIM str = GETSLCTLST(ID2, i)
	IFB LENGTH(str) <> 0 THEN
		PRINT i + ":" + str
		cnt = 0
	ELSE
		cnt = cnt + 1
	ENDIF
	i = i + 1
UNTIL cnt >= 10

CTRLWIN(ID2, CLOSE2)
CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. CLKITEM
  3. GETID
  4. GETSLCTLST
  5. LENGTH
  6. CTRLWIN
結果
1:HGS明朝B 2:ボールド 3:12 4:日本語
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    メモ帳を開き、IDを取得する。
  2. 2行目
    CLKITEM(ID, "書式\フォント")
    [書式]→[フォント]を開く。
  3. 3行目
    DIM ID2 = GETID("フォント")
    [フォント]のIDを取得する。
  4. 8行目
    	DIM str = GETSLCTLST(ID2, i)
    i番目のセレクトボックスの項目を取得。
  5. 9-14行目
    	IFB LENGTH(str)  0 THEN
    		PRINT i + ":" + str
    		cnt = 0
    	ELSE
    		cnt = cnt + 1
    	ENDIF
    変数strが0文字でなければ変数strを出力し、変数cntをリセット。0文字ならば変数cntを+1する。
  6. 15行目
    	i = i + 1
    変数iを+1する。
  7. 16行目
    UNTIL cnt >= 10
    GETSLCTLSTでアイテム数を取得できないので、アイテムを10回連続取得できなかったら終了させる。
  8. 18行目
    CTRLWIN(ID2, CLOSE2)
    [フォント]を閉じる。
  9. 19行目
    CTRLWIN(ID, CLOSE2)
    [メモ帳]を閉じる。

ペイントで設定できるズーム倍率を取得

DIM ID = EXEC("mspaint")

SETSLIDER(ID, 0, 0)
PRINT GETSTR(ID, 2, STR_STATIC)

REPEAT
	CLKITEM(ID, "拡大", CLK_BTN)
	PRINT GETSTR(ID, 2, STR_STATIC)
UNTIL GETSLIDER(ID, 0, SLD_POS) = 100

CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. SETSLIDER
  3. GETSTR
  4. CLKITEM
  5. GETSLIDER
  6. CTRLWIN
結果
12.50%
25%
50%
100%
200%
300%
400%
500%
600%
700%
800%

関連記事

GETITEM (スクリプト関数)
指定したIDのウィンドウのキャプション文字やリストなどを取得すします。取得した情報は配列変数のALL_ITEM_LIST[ ]に格納されます。戻値は取得した数でInteger型です。
CHKBTN (スクリプト関数)
指定したIDのウィンドウにあるチェックボックス・ラジオボタンがチェックされているかを返します。
SLCTBOX (スクリプト関数)
セレクトボックスを表示します。第一引数に選択肢の種別、第二引数にタイムアウト時間、第三引数が数値ならx座標、第四引数にy座標、第三引数が数値でなければメッセージ、メッセージの次の引数に項目を指定します。
GETCTLHND (スクリプト関数)
ボタン等、オブジェクトのハンドルを取得します。
ACW (スクリプト関数)
指定したIDのウィンドウの位置・サイズを変更します。IDのみを指定した場合、そのウィンドウをアクティブにします。
CTRLWIN (スクリプト関数)
ウィンドウの状態を操作します。ウィンドウを終了、アクティブ化、表示・非表示、最大化・最小化などができます。
GETALLWIN (スクリプト関数)
全ウィンドウのIDを取得します。
GETID (スクリプト関数)
指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。UWSCでウィンドウを操作するのによく使う関数です。
GETSLIDER (スクリプト関数)
スライダー(トラックバー、スクロールバー)の値を取得します。
GETSTR (スクリプト関数)
引数に指定したIDのウィンドウの文字列を取得します。取得した文字列を返します。
HNDTOID (スクリプト関数)
引数に指定したハンドル値をIDに変換して返します。IDをハンドル値に変換するにはIDTOHND関数を使います。
IDTOHND (スクリプト関数)
引数に指定したIDをハンドル値に変換して返します。ハンドル値をIDに変換するにはHNDTOID関数を使います。
MOUSEORG (スクリプト関数)
マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送ります。
SCKEY (スクリプト関数)
ショートカットキーを実行します。
SENDSTR (スクリプト関数)
指定したIDのウィンドウに文字列を送信します。キー入力をする場合はKBD関数を使います。
SETSLIDER (スクリプト関数)
スライダー(トラックバー、スクロールバー)の値を設定します。
STATUS (スクリプト関数)
ウィンドウの各種状態を取得します。タイトル・クラス名・X座標・Y座標・幅・高さなどを取得することができます。
GETSLCTLST (スクリプト関数)
GETSLCTLST関数は、指定したIDのウィンドウのCOMBOBOX・LISTBOX・ITM_LISTVIEW・ITM_TREEVIEWでの選択項目を取得する関数です。戻値は選択項目をUString型で返します。