CLKITEMクリックアイテム関数

本ページには広告が含まれています。

目次

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

構文
  1. Boolean = CLKITEM( ID, アイテム名, 種別, On/Off, 番号 )
引数
ID (Integer)必須
Windowを識別するID
アイテム名 (String)必須
ボタン、チェックボックス、ラジオボタンのキャプションの文字 もしくは リストボックス、コンボボックスの選択名 もしくは タブ名 もしくは メニュー項目名 もしくは ツリービュー項目、リストビュー項目 もしくは ツールバー上のボタン名
種別 (#clkitem = Empty)省略可
チェックするアイテム種別
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 (Boolean = True)省略可
チェックボックス, メニューでのチェック、およびクリック動作 True=On、False=Off(デフォルトはOn)
番号 (Integer = 1)省略可
同名のアイテム名がある場合のオブジェクト順番 (左上から数えたオブジェクト順番[1から指定])
戻り値

TRUE:正常、 FALSE:処理不能

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

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

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

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

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

種別

CLK_BTN

種別にCLK_BTNを指定すると、ボタン・チェックボックス・ラジオボタンを操作できます。以下だと[次を検索][置換して次に][すべて置換][キャンセル]がボタン、大文字と小文字を区別する折り返しありがチェックボックスに当たります。

_置換.png
UWSC
CLKITEM(ID, "次を検索", CLK_BTN)
CLKITEM(ID, "置換して次に", CLK_BTN)
CLKITEM(ID, "すべて置換", CLK_BTN)
CLKITEM(ID, "キャンセル", CLK_BTN)

チェックボックスの場合、第四引数にチェックを入れるかどうかを示すブール値を指定します。チェックを入れる場合はTRUE、外す場合はFALSEを指定します。省略した場合はチェックを入れる操作を行います。

UWSC
CLKITEM(ID, "大文字と小文字を区別する", CLK_BTN, TRUE)    // チェックを入れる
CLKITEM(ID, "大文字と小文字を区別する", CLK_BTN, FALSE)   // チェックを外す
CLKITEM(ID, "大文字と小文字を区別する" CLK_BTN)           // チェックを入れる

チェックボックスの状態を確認するにはCHKBTN関数を使います。

現在のチェックボックスの状態を反転させるには以下のように記述します。CHKBTN関数で現在のチェックボックスの状態を取得し、その値を反転させたものをCLKITEM関数で設定します。!CHKBTN関数の結果がTrueならばFalseに、FalseならばTrueに反転します。これでチェック状態を反転させています。

UWSC
CLKITEM(ID, "大文字と小文字を区別する", CLK_BTN, !CHKBTN(ID, "大文字と小文字を区別する"))

上のプログラムを2行に分けて書くと以下のようになります。boolが現在のチェックボックスの状態、!boolが反転させた値です。

UWSC
DIM bool = CHKBTN(ID, "大文字と小文字を区別する")
CLKITEM(ID, "大文字と小文字を区別する", CLK_BTN, !bool)

指定したウィンドウのIDCLK_BTNで操作できるアイテムの個数を取得するには以下のプログラムを実行します。

UWSC
PRINT GETITEM(ID, ITM_BTN, -1)

CLK_LIST

種別にCLK_LISTを指定すると、リストボックス、コンボボックスを操作できます。リストボックスとは以下の画像のように複数の項目から選択できるものを指します。

_リスト表示.png

ファイル名を指定して実行のリストボックスの上から2番目(ALL_ITEM_LISTの値は1)の項目を選択しOKボタンをクリックします。画像のリストの場合、メモ帳(notepad)が起動します。

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

DIM ID = GETID("ファイル名を指定して実行", "#32770")
GETITEM(ID, ITM_LIST, -1)

CLKITEM(ID, ALL_ITEM_LIST[1], CLK_LIST)
CLKITEM(ID, "OK", CLK_BTN)

ファイル名を指定して実行のリストボックスの一番下(ALL_ITEM_LISTの値はcnt-1)の項目を選択しOKボタンをクリックします。画像のリストの場合、システム構成(msconfig)が起動します。

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

DIM ID = GETID("ファイル名を指定して実行", "#32770")
DIM cnt = GETITEM(ID, ITM_LIST, -1)

CLKITEM(ID, ALL_ITEM_LIST[cnt-1], CLK_LIST)
CLKITEM(ID, "OK", CLK_BTN)

CLK_TAB

Excelを起動し、シートタブから[ワークシートの挿入]を選択します。

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

DIM ID = GETID("Excel", "XLMAIN")
CLKITEM(ID, "ワークシートの挿入", CLK_TAB)

サクラエディタで新規ファイルを3つ開き、(無題)2を選択します。

CLK_MENUは挙動がおかしかったので代わりにCLK_ACCを指定します。

UWSC
DIM ID = EXEC("C:\Program Files (x86)\sakura\sakura.exe")

FOR i = 1 TO 2
	PRINT CLKITEM(ID, "新規作成", CLK_ACC OR CLK_SHORT)
	SLEEP(1.000)
NEXT

PRINT CLKITEM(ID, "(無題)2", CLK_TAB)
SLEEP(3.000)

CTRLWIN(ID, CLOSE)

サクラエディタで新規ファイルを3つ開き、2番目の(ALL_ITEM_LISTの値は1)項目を選択します。

UWSC
DIM ID = EXEC("C:\Program Files (x86)\sakura\sakura.exe")

FOR i = 1 TO 2
	PRINT CLKITEM(ID, "新規作成", CLK_ACC OR CLK_SHORT)
	SLEEP(1.000)
NEXT

GETITEM(ID, ITM_TAB, -1)
PRINT CLKITEM(ID, ALL_ITEM_LIST[1], CLK_TAB)
SLEEP(3.000)

CTRLWIN(ID, CLOSE)

CLK_MENU

メモ帳を起動し、メニューから[ヘルプ]-[バージョン情報]を選択・表示します。

UWSC
DIM ID = EXEC("notepad")

CLKITEM(ID, "ヘルプ\バージョン情報", CLK_MENU)

CLK_TREEVIEW

ExcelのVisual Basic Editorを起動し、プロジェクトのツリービューからThisWorkbookを選択します。

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

DIM book = Excel.Application.ActiveWorkbook.Name

DIM ID = GETID("Excel", "XLMAIN")
IFB CLKITEM(ID, "開発", CLK_TAB) THEN
	CLKITEM(ID, "Visual Basic", CLK_BTN)
ELSE
	SCKEY(ID, VK_ALT, VK_F11)
ENDIF

DIM ID2 = GETID("Microsoft Visual Basic for Applications", "wndclass_desked_gsk")
CLKITEM(ID2, "VBAProject (" + book + ")\Microsoft Excel Objects\ThisWorkbook", CLK_TREEVIEW OR CLK_DBLCLK)

ツリービューにThisWorkbookは一つしかないので、一部分でもマッチします。

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

DIM ID = GETID("Excel", "XLMAIN")
IFB CLKITEM(ID, "開発", CLK_TAB) THEN
	CLKITEM(ID, "Visual Basic", CLK_BTN)
ELSE
	SCKEY(ID, VK_ALT, VK_F11)
ENDIF

DIM ID2 = GETID("Microsoft Visual Basic for Applications", "wndclass_desked_gsk")
PRINT CLKITEM(ID2, "ThisWorkbook", CLK_TREEVIEW OR CLK_DBLCLK)

CLK_TOOLBAR

メモ帳を起動し、ツールバーのヘルプを選択します。

UWSC
DIM ID = EXEC("notepad")

PRINT CLKITEM(ID, "ヘルプ", CLK_TOOLBAR)
結果
ツールバー.png

種別(追加オプション)

追加オプションは種別との組み合わせで使い、種別 OR 追加オプションの形式で記述します。

UWSC
CLKITEM(ID, アイテム名, 種別 OR CLK_SHORT)
CLKITEM(ID, アイテム名, 種別 OR CLK_BACK)
CLKITEM(ID, アイテム名, 種別 OR CLK_MUSMOVE)
CLKITEM(ID, アイテム名, 種別 OR CLK_RIGHTCLK)
CLKITEM(ID, アイテム名, 種別 OR CLK_LEFTCLK)
CLKITEM(ID, アイテム名, 種別 OR CLK_LEFTCLK OR CLK_DBLCLK)
CLKITEM(ID, アイテム名, 種別 OR CLK_FROMLAST)
CLKITEM(ID, アイテム名, 種別 OR CLK_API)
CLKITEM(ID, アイテム名, 種別 OR CLK_UIA)

以下はファイル名を指定して実行を起動し、OKボタンにカーソルを移動させるプログラムです。第三引数のCLK_BTNにオプションとしてCLK_MUSMOVEを追加することでボタンにカーソルを移動させる処理を行うことができます。ボタンはデフォルトでクリックされてしまうので、第四引数にFALSEを指定することでクリックさせずにカーソルを移動させるだけの処理を行えます。TRUEを指定するとカーソルを移動させた上でボタンをクリックできます。

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

DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "notepad")
SLEEP(0.500)
CLKITEM(ID, "OK", CLK_BTN OR CLK_MUSMOVE, FALSE)

以下はファイル名を指定して実行を起動し、リストボックスの中からnoteに部分一致する項目を選択し、OKボタンをクリックします。「note」は「notepad」を想定しています。ファイル名を指定して実行で履歴にnotepadがない場合はキャンセルして終了します。

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

DIM ID = GETID("ファイル名を指定して実行", "#32770")
IFB CLKITEM(ID, "note", CLK_LIST OR CLK_SHORT) THEN
	CLKITEM(ID, "OK", CLK_BTN)
ELSE
	CLKITEM(ID, "キャンセル", CLK_BTN)
ENDIF

追加オプションが複数ある場合は、ORに続けて追加します。

_検索.png
UWSC
DIM ID = EXEC("notepad")
SENDSTR(ID, "文字列")

CLKITEM(ID, "編集\検索", CLK_MENU)

DIM ID2 = GETID("検索", "#32770")
SENDSTR(ID2, "検索文字")
CLKITEM(ID2, "区別", CLK_BTN OR CLK_SHORT, TRUE)
CLKITEM(ID2, "折り返し", CLK_BTN OR CLK_SHORT, TRUE)
CLKITEM(ID2, "下", CLK_BTN OR CLK_SHORT, TRUE)
CLKITEM(ID2, "次を検索", CLK_BTN OR CLK_SHORT OR CLK_MUSMOVE, FALSE)

ニーモニックは付けても付けなくてもマッチします。

UWSC
CLKITEM(ID2, "大文字と小文字を区別する", CLK_BTN, TRUE)
CLKITEM(ID2, "大文字と小文字を区別する(C)", CLK_BTN, TRUE)

On/Off

チェックボックスにチェックを入れる場合はTrue、チェックを外す場合はFalseを指定します。

_検索.png
UWSC
CLKITEM(ID2, "大文字と小文字を区別する", CLK_BTN, TRUE)   // チェックを入れる
CLKITEM(ID2, "大文字と小文字を区別する", CLK_BTN, FALSE)   // チェックを外す

アイテム名の取得

アクティブウィンドウのCLKITEM関数で操作できる要素を取得します。結果は実行したUWSファイルと同じディレクトリのCLKITEM.logに出力されます。

UWSC
OPTION LOGPATH = "CLKITEM.log"
OPTION LOGFILE = 6

HASHTBL ITEMS

ITEMS["ITM_BTN"] = "CLK_BTN"
ITEMS["ITM_LIST"] = "CLK_LIST"
ITEMS["ITM_TAB"] = "CLK_TAB"
ITEMS["ITM_MENU"] = "CLK_MENU"
ITEMS["ITM_TREEVIEW"] = "CLK_TREEVIEW"
ITEMS["ITM_LISTVIEW"] = "CLK_LISTVIEW"
ITEMS["ITM_TOOLBAR"] = "CLK_TOOLBAR"
ITEMS["ITM_LINK"] = "CLK_LINK"
ITEMS["ITM_ACCCLK"] = "CLK_ACC"

FOR sec = 3 TO 1 STEP -1
	FUKIDASI(sec + "秒後にアクティブなウィンドウの情報を取得します。")
	SLEEP(1.000)
NEXT

DIM ID = GETID(GET_ACTIVE_WIN)

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

FUKIDASI("「" + STATUS(ID, ST_TITLE) + "」…取得中")

//FOR item IN array
FOR i = 0 TO LENGTH(ITEMS) - 1
	PRINT "//////////////////////////////////////////////////"
	PRINT "// " + ITEMS[i, HASH_KEY]
	PRINT "//////////////////////////////////////////////////"
	PRINT "GETITEM(ID, " + ITEMS[i, HASH_KEY] + ", -1) = " + GETITEM(ID, EVAL(ITEMS[i, HASH_KEY]), -1)
	FOR j = 0 TO LENGTH(ALL_ITEM_LIST) - 1
		str = ALL_ITEM_LIST[j]
		str = REPLACE(str, "<#CR>", "<@cr>")
		str = REPLACE(str, "<#DBL>", "<@dbl>")
		str = REPLACE(str, "<#TAB>", "<@tab>")
		str = REPLACE(str, CHR(10), "<#DBL>+CHR(10)+<#DBL>")
		str = REPLACE(str, "<@", "<#")
		PRINT "CLKITEM(ID, <#DBL>" + str + "<#DBL>, " + ITEMS[i, HASH_VAL] + ")"
	NEXT
	PRINT
NEXT

取得例

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

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

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

メモ帳
メモ帳
UWSC
DIM ID = GETID("無題 - メモ帳", "Notepad")

//////////////////////////////////////////////////
// ITM_BTN
//////////////////////////////////////////////////
GETITEM(ID, ITM_BTN, -1) = 5
CLKITEM(ID, "1 行上", CLK_BTN)
CLKITEM(ID, "1 行下", CLK_BTN)
CLKITEM(ID, "最小化", CLK_BTN)
CLKITEM(ID, "最大化", CLK_BTN)
CLKITEM(ID, "閉じる", CLK_BTN)

//////////////////////////////////////////////////
// ITM_LIST
//////////////////////////////////////////////////
GETITEM(ID, ITM_LIST, -1) = 0

//////////////////////////////////////////////////
// ITM_TAB
//////////////////////////////////////////////////
GETITEM(ID, ITM_TAB, -1) = 0

//////////////////////////////////////////////////
// ITM_MENU
//////////////////////////////////////////////////
GETITEM(ID, ITM_MENU, -1) = 30
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)

//////////////////////////////////////////////////
// ITM_TREEVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_TREEVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_LISTVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_LISTVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_TOOLBAR
//////////////////////////////////////////////////
GETITEM(ID, ITM_TOOLBAR, -1) = 5
CLKITEM(ID, "ファイル", CLK_TOOLBAR)
CLKITEM(ID, "編集", CLK_TOOLBAR)
CLKITEM(ID, "書式", CLK_TOOLBAR)
CLKITEM(ID, "表示", CLK_TOOLBAR)
CLKITEM(ID, "ヘルプ", CLK_TOOLBAR)

//////////////////////////////////////////////////
// ITM_LINK
//////////////////////////////////////////////////
GETITEM(ID, ITM_LINK, -1) = 0

//////////////////////////////////////////////////
// ITM_ACCCLK
//////////////////////////////////////////////////
GETITEM(ID, ITM_ACCCLK, -1) = 2
CLKITEM(ID, "1 行上", CLK_ACC)
CLKITEM(ID, "1 行下", CLK_ACC)
ペイント
UWSC
DIM ID = GETID("無題 - ペイント", "MSPaintApp")

//////////////////////////////////////////////////
// ITM_BTN
//////////////////////////////////////////////////
GETITEM(ID, ITM_BTN, -1) = 2
CLKITEM(ID, "縮小", CLK_BTN)
CLKITEM(ID, "拡大", CLK_BTN)

//////////////////////////////////////////////////
// ITM_LIST
//////////////////////////////////////////////////
GETITEM(ID, ITM_LIST, -1) = 0

//////////////////////////////////////////////////
// ITM_TAB
//////////////////////////////////////////////////
GETITEM(ID, ITM_TAB, -1) = 2
CLKITEM(ID, "ホーム", CLK_TAB)
CLKITEM(ID, "表示", CLK_TAB)

//////////////////////////////////////////////////
// ITM_MENU
//////////////////////////////////////////////////
GETITEM(ID, ITM_MENU, -1) = 0

//////////////////////////////////////////////////
// ITM_TREEVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_TREEVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_LISTVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_LISTVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_TOOLBAR
//////////////////////////////////////////////////
GETITEM(ID, ITM_TOOLBAR, -1) = 9
CLKITEM(ID, "クイック アクセス ツール バー", CLK_TOOLBAR)
CLKITEM(ID, "クリップボード", CLK_TOOLBAR)
CLKITEM(ID, "イメージ"+CHR(10)+"", CLK_TOOLBAR)
CLKITEM(ID, "ツール"+CHR(10)+"", CLK_TOOLBAR)
CLKITEM(ID, "", CLK_TOOLBAR)
CLKITEM(ID, "図形"+CHR(10)+"", CLK_TOOLBAR)
CLKITEM(ID, "", CLK_TOOLBAR)
CLKITEM(ID, "色"+CHR(10)+"", CLK_TOOLBAR)
CLKITEM(ID, "", CLK_TOOLBAR)

//////////////////////////////////////////////////
// ITM_LINK
//////////////////////////////////////////////////
GETITEM(ID, ITM_LINK, -1) = 0

//////////////////////////////////////////////////
// ITM_ACCCLK
//////////////////////////////////////////////////
GETITEM(ID, ITM_ACCCLK, -1) = 97
CLKITEM(ID, "UIRibbonDockLeft", CLK_ACC)
CLKITEM(ID, "UIRibbonDockRight", CLK_ACC)
CLKITEM(ID, "UIRibbonDockTop", CLK_ACC)
CLKITEM(ID, "Ribbon", CLK_ACC)
CLKITEM(ID, "新規", CLK_ACC)
CLKITEM(ID, "開く", CLK_ACC)
CLKITEM(ID, "上書き保存", CLK_ACC)
CLKITEM(ID, "印刷", CLK_ACC)
CLKITEM(ID, "印刷プレビュー", CLK_ACC)
CLKITEM(ID, "電子メールの送信", CLK_ACC)
CLKITEM(ID, "元に戻す", CLK_ACC)
CLKITEM(ID, "やり直し", CLK_ACC)
CLKITEM(ID, "クイック アクセス ツール バーのカスタマイズ", CLK_ACC)
CLKITEM(ID, "その他のコントロール", CLK_ACC)
CLKITEM(ID, "ファイル タブ", CLK_ACC)
CLKITEM(ID, "ホーム", CLK_ACC)
CLKITEM(ID, "表示", CLK_ACC)
CLKITEM(ID, "印刷プレビュー", CLK_ACC)
CLKITEM(ID, "1 列左", CLK_ACC)
CLKITEM(ID, "1 列右", CLK_ACC)
CLKITEM(ID, "リボンの最小化", CLK_ACC)
CLKITEM(ID, "リボンの最小化", CLK_ACC)
CLKITEM(ID, "ヘルプ", CLK_ACC)
CLKITEM(ID, "貼り付け", CLK_ACC)
CLKITEM(ID, "貼り付け", CLK_ACC)
CLKITEM(ID, "切り取り", CLK_ACC)
CLKITEM(ID, "コピー", CLK_ACC)
CLKITEM(ID, "クリップボード", CLK_ACC)
CLKITEM(ID, "選択", CLK_ACC)
CLKITEM(ID, "選択", CLK_ACC)
CLKITEM(ID, "トリミング", CLK_ACC)
CLKITEM(ID, "サイズ変更", CLK_ACC)
CLKITEM(ID, "回転", CLK_ACC)
CLKITEM(ID, "イメージ", CLK_ACC)
CLKITEM(ID, "鉛筆", CLK_ACC)
CLKITEM(ID, "塗りつぶし", CLK_ACC)
CLKITEM(ID, "テキスト", CLK_ACC)
CLKITEM(ID, "消しゴム", CLK_ACC)
CLKITEM(ID, "色の選択", CLK_ACC)
CLKITEM(ID, "拡大鏡", CLK_ACC)
CLKITEM(ID, "ツール", CLK_ACC)
CLKITEM(ID, "ブラシ", CLK_ACC)
CLKITEM(ID, "ブラシ", CLK_ACC)
CLKITEM(ID, "図形", CLK_ACC)
CLKITEM(ID, "直線", CLK_ACC)
CLKITEM(ID, "曲線", CLK_ACC)
CLKITEM(ID, "楕円形", CLK_ACC)
CLKITEM(ID, "四角形", CLK_ACC)
CLKITEM(ID, "角丸四角形", CLK_ACC)
CLKITEM(ID, "多角形", CLK_ACC)
CLKITEM(ID, "三角形", CLK_ACC)
CLKITEM(ID, "直角三角形", CLK_ACC)
CLKITEM(ID, "ひし形", CLK_ACC)
CLKITEM(ID, "五角形", CLK_ACC)
CLKITEM(ID, "六角形", CLK_ACC)
CLKITEM(ID, "右矢印", CLK_ACC)
CLKITEM(ID, "左矢印", CLK_ACC)
CLKITEM(ID, "上矢印", CLK_ACC)
CLKITEM(ID, "下矢印", CLK_ACC)
CLKITEM(ID, "星 4", CLK_ACC)
CLKITEM(ID, "星 5", CLK_ACC)
CLKITEM(ID, "星 6", CLK_ACC)
CLKITEM(ID, "角丸四角形吹き出し", CLK_ACC)
CLKITEM(ID, "楕円形吹き出し", CLK_ACC)
CLKITEM(ID, "雲形吹き出し", CLK_ACC)
CLKITEM(ID, "ハート", CLK_ACC)
CLKITEM(ID, "稲妻", CLK_ACC)
CLKITEM(ID, "1 行上", CLK_ACC)
CLKITEM(ID, "前のページ", CLK_ACC)
CLKITEM(ID, "次のページ", CLK_ACC)
CLKITEM(ID, "1 行下", CLK_ACC)
CLKITEM(ID, "1 列左", CLK_ACC)
CLKITEM(ID, "左のページ", CLK_ACC)
CLKITEM(ID, "右のページ", CLK_ACC)
CLKITEM(ID, "1 列右", CLK_ACC)
CLKITEM(ID, "上へ移動", CLK_ACC)
CLKITEM(ID, "下へ移動", CLK_ACC)
CLKITEM(ID, "図形", CLK_ACC)
CLKITEM(ID, "輪郭", CLK_ACC)
CLKITEM(ID, "塗りつぶし", CLK_ACC)
CLKITEM(ID, "図形", CLK_ACC)
CLKITEM(ID, "線の幅", CLK_ACC)
CLKITEM(ID, "色 1", CLK_ACC)
CLKITEM(ID, "色 2", CLK_ACC)
CLKITEM(ID, "色の編集", CLK_ACC)
CLKITEM(ID, "色", CLK_ACC)
CLKITEM(ID, "ペイント 3D で編集する", CLK_ACC)
CLKITEM(ID, "1 列左", CLK_ACC)
CLKITEM(ID, "1 列右", CLK_ACC)
CLKITEM(ID, "UIRibbonDockBottom", CLK_ACC)
CLKITEM(ID, "キャンバス での ブラシ ツールの使用", CLK_ACC)
CLKITEM(ID, "UIRibbonWorkPane", CLK_ACC)
CLKITEM(ID, "縮小", CLK_ACC)
CLKITEM(ID, "ズーム スライダー", CLK_ACC)
CLKITEM(ID, "左へドラッグ", CLK_ACC)
CLKITEM(ID, "右へドラッグ", CLK_ACC)
CLKITEM(ID, "拡大", CLK_ACC)
UWSC Pro
UWSC
DIM ID = GETID("UWSC Pro", "TUMain_uwsc")

//////////////////////////////////////////////////
// ITM_BTN
//////////////////////////////////////////////////
GETITEM(ID, ITM_BTN, -1) = 5
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)

//////////////////////////////////////////////////
// ITM_LIST
//////////////////////////////////////////////////
GETITEM(ID, ITM_LIST, -1) = 0

//////////////////////////////////////////////////
// ITM_TAB
//////////////////////////////////////////////////
GETITEM(ID, ITM_TAB, -1) = 0

//////////////////////////////////////////////////
// ITM_MENU
//////////////////////////////////////////////////
GETITEM(ID, ITM_MENU, -1) = 0

//////////////////////////////////////////////////
// ITM_TREEVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_TREEVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_LISTVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_LISTVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_TOOLBAR
//////////////////////////////////////////////////
GETITEM(ID, ITM_TOOLBAR, -1) = 0

//////////////////////////////////////////////////
// ITM_LINK
//////////////////////////////////////////////////
GETITEM(ID, ITM_LINK, -1) = 0

//////////////////////////////////////////////////
// ITM_ACCCLK
//////////////////////////////////////////////////
GETITEM(ID, ITM_ACCCLK, -1) = 0
UWSC Debugger
UWSC
DIM ID = GETID("UWSC Debugger", "TFOya")

//////////////////////////////////////////////////
// ITM_BTN
//////////////////////////////////////////////////
GETITEM(ID, ITM_BTN, -1) = 14
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)
CLKITEM(ID, "Script", CLK_BTN)
CLKITEM(ID, "Option", CLK_BTN)
CLKITEM(ID, "Help", CLK_BTN)
CLKITEM(ID, "△", CLK_BTN)
CLKITEM(ID, "▽", CLK_BTN)
CLKITEM(ID, "Trace", CLK_BTN)
CLKITEM(ID, "", CLK_BTN)

//////////////////////////////////////////////////
// ITM_LIST
//////////////////////////////////////////////////
GETITEM(ID, ITM_LIST, -1) = 0

//////////////////////////////////////////////////
// ITM_TAB
//////////////////////////////////////////////////
GETITEM(ID, ITM_TAB, -1) = 1
CLKITEM(ID, "", CLK_TAB)

//////////////////////////////////////////////////
// ITM_MENU
//////////////////////////////////////////////////
GETITEM(ID, ITM_MENU, -1) = 0

//////////////////////////////////////////////////
// ITM_TREEVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_TREEVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_LISTVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_LISTVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_TOOLBAR
//////////////////////////////////////////////////
GETITEM(ID, ITM_TOOLBAR, -1) = 0

//////////////////////////////////////////////////
// ITM_LINK
//////////////////////////////////////////////////
GETITEM(ID, ITM_LINK, -1) = 0

//////////////////////////////////////////////////
// ITM_ACCCLK
//////////////////////////////////////////////////
GETITEM(ID, ITM_ACCCLK, -1) = 9
CLKITEM(ID, "△", CLK_ACC)
CLKITEM(ID, "▽", CLK_ACC)
CLKITEM(ID, "開く", CLK_ACC)
CLKITEM(ID, "Trace", CLK_ACC)
CLKITEM(ID, "Script", CLK_ACC)
CLKITEM(ID, "Option", CLK_ACC)
CLKITEM(ID, "Help", CLK_ACC)
CLKITEM(ID, "1 行上", CLK_ACC)
CLKITEM(ID, "1 行下", CLK_ACC)
ファイル名を指定して実行
ファイル名を指定して実行
UWSC
DIM ID = GETID("ファイル名を指定して実行", "#32770")

//////////////////////////////////////////////////
// ITM_BTN
//////////////////////////////////////////////////
GETITEM(ID, ITM_BTN, -1) = 3
CLKITEM(ID, "OK", CLK_BTN)
CLKITEM(ID, "キャンセル", CLK_BTN)
CLKITEM(ID, "参照", CLK_BTN)

//////////////////////////////////////////////////
// ITM_LIST
//////////////////////////////////////////////////
GETITEM(ID, ITM_LIST, -1) = 14
CLKITEM(ID, "mspaint", CLK_LIST)
CLKITEM(ID, "notepad", CLK_LIST)
CLKITEM(ID, "excel", CLK_LIST)
CLKITEM(ID, "%windir%\SoftwareDistribution\Download", CLK_LIST)
CLKITEM(ID, "%USERPROFILE%\AppData\Local\Temp", CLK_LIST)
CLKITEM(ID, "temp", CLK_LIST)
CLKITEM(ID, "cmd", CLK_LIST)
CLKITEM(ID, "shell:startup", CLK_LIST)
CLKITEM(ID, "prefetch", CLK_LIST)
CLKITEM(ID, "services.msc", CLK_LIST)
CLKITEM(ID, "shutdown /r /t 0", CLK_LIST)
CLKITEM(ID, "%temp%", CLK_LIST)
CLKITEM(ID, "winword", CLK_LIST)
CLKITEM(ID, "msconfig", CLK_LIST)

//////////////////////////////////////////////////
// ITM_TAB
//////////////////////////////////////////////////
GETITEM(ID, ITM_TAB, -1) = 0

//////////////////////////////////////////////////
// ITM_MENU
//////////////////////////////////////////////////
GETITEM(ID, ITM_MENU, -1) = 0

//////////////////////////////////////////////////
// ITM_TREEVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_TREEVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_LISTVIEW
//////////////////////////////////////////////////
GETITEM(ID, ITM_LISTVIEW, -1) = 0

//////////////////////////////////////////////////
// ITM_TOOLBAR
//////////////////////////////////////////////////
GETITEM(ID, ITM_TOOLBAR, -1) = 0

//////////////////////////////////////////////////
// ITM_LINK
//////////////////////////////////////////////////
GETITEM(ID, ITM_LINK, -1) = 0

//////////////////////////////////////////////////
// ITM_ACCCLK
//////////////////////////////////////////////////
GETITEM(ID, ITM_ACCCLK, -1) = 21
CLKITEM(ID, "開く", CLK_ACC)
CLKITEM(ID, "mspaint", CLK_ACC)
CLKITEM(ID, "notepad", CLK_ACC)
CLKITEM(ID, "excel", CLK_ACC)
CLKITEM(ID, "%windir%\SoftwareDistribution\Download", CLK_ACC)
CLKITEM(ID, "%USERPROFILE%\AppData\Local\Temp", CLK_ACC)
CLKITEM(ID, "temp", CLK_ACC)
CLKITEM(ID, "cmd", CLK_ACC)
CLKITEM(ID, "shell:startup", CLK_ACC)
CLKITEM(ID, "prefetch", CLK_ACC)
CLKITEM(ID, "services.msc", CLK_ACC)
CLKITEM(ID, "shutdown /r /t 0", CLK_ACC)
CLKITEM(ID, "%temp%", CLK_ACC)
CLKITEM(ID, "winword", CLK_ACC)
CLKITEM(ID, "msconfig", CLK_ACC)
CLKITEM(ID, "1 行上", CLK_ACC)
CLKITEM(ID, "1 行下", CLK_ACC)
CLKITEM(ID, "別メモリ領域で実行する", CLK_ACC)
CLKITEM(ID, "OK", CLK_ACC)
CLKITEM(ID, "キャンセル", CLK_ACC)
CLKITEM(ID, "参照", CLK_ACC)

使い方

リストビューの選択

アクティブウィンドウにあるすべてのリストビュー(曲)を上から順番に選択していきます。Alarm01.wavAlarm02.wavAlarm03.wav、…と選択されます。

Mp3tag.png
UWSC
DIM ID = EXEC("C:\Program Files (x86)\Mp3tag\Mp3tag.exe")

FOR i = 0 TO GETITEM(ID, ITM_LISTVIEW, -1) - 1
	CLKITEM(ID, ALL_ITEM_LIST[i], CLK_LISTVIEW)
	SLEEP(1.000)
NEXT

ツリービューの選択

Microsoft Visual Basic for Applications.png
UWSC
DIM ID = GETID("Microsoft Visual Basic for Applications", "wndclass_desked_gsk")

PRINT CLKITEM(ID, "VBAProject (Book1)", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\Microsoft Excel Objects", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\Microsoft Excel Objects\Sheet1 (Sheet1)", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\Microsoft Excel Objects\Sheet2 (Sheet2)", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\Microsoft Excel Objects\Sheet3 (Sheet3)", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\Microsoft Excel Objects\ThisWorkbook", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\標準モジュール", CLK_TREEVIEW, TRUE)
PRINT CLKITEM(ID, "VBAProject (Book1)\標準モジュール\Module1", CLK_TREEVIEW, TRUE)

Internet Explorer

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

IEFrame_セッションの復元.png
UWSC
DIM ID = GETID("Internet Explorer", "IEFrame")
CLKITEM(ID, "セッションの復元", CLK_BTN)

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

.png
UWSC
ID = GETID("Internet Explorer", "IEFrame")
CLKITEM(ID, "アドオンの選択", CLK_BTN)

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

Internet Explorer_Webページの回復.png
UWSC
ID = GETID("Internet Explorer", "IEFrame")
CLKITEM(ID, "Web ページの回復", CLK_BTN)

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

.png
UWSC
DIM ID = GETID("Internet Explorer", "IEFrame")
CLKITEM(ID, "すべてのコンテンツを表示", CLK_BTN)

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

IMG_20210506_182603.jpg

Internet Explorer 11は2022年6月15日に廃止されます。Microsoft Edgeに切り替えて、より高速で安全な閲覧エクスペリエンスを実現します。

Internet Explorer 11は2022年6月15日に廃止されます。.png
UWSC
// [ITM_BTN]
CLKITEM(ID, "Microsoft Edge を起動する", ITM_BTN)
CLKITEM(ID, "もっと詳しく", ITM_BTN)

// [ITM_ACCCLK]
CLKITEM(ID, "Microsoft Edge を起動する", ITM_ACCCLK)
CLKITEM(ID, "もっと詳しく", ITM_ACCCLK)

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

IMG_20210506_182238.jpg
UWSC
DIM ID = GETID("Windows Internet Explorer", "#32770")
CLKITEM(ID, "このページから移動", CLK_BTN)
CLKITEM(ID, "ページに留まる", CLK_BTN)

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

Internet Explorer_uwsc5302.zipのダウンロードが完了しました。.png
UWSC
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)

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

Internet Explorer_uwsc5302.zip で行う操作を選んでください.png
UWSC
DIM ID = GETID("Internet Explorer", "#32770")
CLKITEM(ID, "開く", CLK_BTN)
CLKITEM(ID, "保存", CLK_BTN)
CLKITEM(ID, "名前を付けて保存", CLK_BTN)
CLKITEM(ID, "キャンセル", CLK_BTN)

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

UWSC
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キーで開きます。

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

CTRLWIN(ID, ACTIVATE)
SLEEP(0.500)

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

Excel

パスワードつきのブックを開いたときの入力ボックス

UWSC
DIM ID = GETID("パスワード", "bosa_sdm_XL9")

// [ITM_BTN]
CLKITEM(ID, "コンテキスト ヘルプ", ITM_BTN)
CLKITEM(ID, "閉じる", ITM_BTN)
CLKITEM(ID, "OK", ITM_BTN)
CLKITEM(ID, "キャンセル", ITM_BTN)

// [ITM_LIST]

// [ITM_TAB]

// [ITM_MENU]

// [ITM_TREEVIEW]

// [ITM_LISTVIEW]

// [ITM_EDIT]
CLKITEM(ID, "", ITM_EDIT)

// [ITM_STATIC]
CLKITEM(ID, "'Book1.xlsx' は保護されています。", ITM_STATIC)
CLKITEM(ID, "パスワード(P):", ITM_STATIC)

// [ITM_STATUSBAR]

// [ITM_TOOLBAR]

// [ITM_LINK]

// [ITM_ACCCLK]
CLKITEM(ID, "OK", ITM_ACCCLK)
CLKITEM(ID, "キャンセル", ITM_ACCCLK)

// [ITM_ACCCLK2]
CLKITEM(ID, "OK", ITM_ACCCLK2)
CLKITEM(ID, "キャンセル", ITM_ACCCLK2)

// [ITM_ACCTXT]
CLKITEM(ID, "'Book1.xlsx' は保護されています。", ITM_ACCTXT)
CLKITEM(ID, "パスワード(P):", ITM_ACCTXT)

// [ITM_ACCEDIT]
CLKITEM(ID, "パスワード(P):", ITM_ACCEDIT)
CLKITEM(ID, "パスワード(P):", ITM_ACCEDIT)

// [ITM_FROMLAST]

プログラム実行例

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

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

DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "shell:RecycleBinFolder")
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

電卓を操作し計算をする

電卓を操作します。

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

CLKITEM(ID, "3", CLK_BTN)
CLKITEM(ID, "小数点", CLK_BTN)
CLKITEM(ID, "6", CLK_BTN)
CLKITEM(ID, "プラス", CLK_BTN)
CLKITEM(ID, "5", CLK_BTN)
CLKITEM(ID, "小数点", CLK_BTN)
CLKITEM(ID, "8", CLK_BTN)
CLKITEM(ID, "等号", CLK_BTN)

// CTRLWIN(ID, CLOSE)
使用関数
解説

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

UWSC
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
使用関数
解説

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

UWSC
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)
結果
プレーンテキスト
18.4
解説

ユーザーの切り替え

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

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "ユーザーの切り替え", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

サインアウト

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

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "サインアウト", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

スリープ

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

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "スリープ", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

シャットダウン

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

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "シャットダウン", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

再起動

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

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "再起動", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
使用関数
解説

ファイルを開いているプロセスを調べる

UWSC
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

CONST TemporaryFolder = 2

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")

WITH FSO
	DIM Folder = .GetSpecialFolder(TemporaryFolder)
	DIM folderspec = Folder.Path
	DIM filename = .GetTempName
	DIM path = .BuildPath(folderspec, filename)
ENDWITH

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

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

SENDSTR(ID, "cmd /c openfiles /query /fo CSV > " + path)
CLKITEM(ID, "OK", CLK_BTN)
SLEEP(0.500)

REPEAT
	SLEEP(0.100)
UNTIL GETID("C:\WINDOWS\system32\cmd.exe", "ConsoleWindowClass") = -1

DIM FID = FOPEN(path, F_READ)

TRY
	DIM ID2 = GETID("使用中", "OperationStatusWindow")

	GETITEM(ID2, ITM_ACCTXT, 1)
	DIM str = ALL_ITEM_LIST[1]
	
	DIM sep = IIF(POS("フォルダー", STATUS(ID2, ST_TITLE)) <> 0, "\", "")
	DIM msg = "■" + str + "<#CR>"
	
	FOR r = 5 TO FGET(FID, F_LINECOUNT)
		IF POS("\" + str + sep,  FGET(FID, r, 3)) <> 0 THEN
			msg = msg + "ID:" + FGET(FID, r, 1) + ", プロセス名:" + FGET(FID, r, 2) + "<#CR>"
		ENDIF
	NEXT
	FCLOSE(FID)

	REPEAT
		FUKIDASI(TRIM(msg))
		SLEEP(0.100)
	UNTIL GETID("使用中", "OperationStatusWindow") = -1
FINALLY
	FSO.DeleteFile(path)
ENDTRY

//////////////////////////////////////////////////
// 【引数】
//   
// 【戻り値】
//   
//////////////////////////////////////////////////
PROCEDURE forceQuit()
	EXITEXIT
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
使用関数
解説

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

UWSC
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)
結果
プレーンテキスト
12.50%
25%
50%
100%
200%
300%
400%
500%
600%
700%
800%
解説

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

UWSC
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
解説

関連記事

GETITEM関数 (スクリプト関数)
指定したIDのウィンドウのキャプション文字やリストなどを取得します。取得した情報は配列変数のALL_ITEM_LIST[ ]に格納されます。戻値は取得した数でInteger型です。
SLCTBOX関数 (スクリプト関数)
セレクトボックスを表示します。第一引数に選択肢の種別、第二引数にタイムアウト時間、第三引数が数値ならx座標、第四引数にy座標、第三引数が数値でなければメッセージ、メッセージの次の引数に項目を指定します。
CHKBTN関数 (スクリプト関数)
指定したIDのウィンドウにあるチェックボックス・ラジオボタンがチェックされているかを返します。
GETCTLHND関数 (スクリプト関数)
ボタン等、オブジェクトのハンドルを取得します。
ACW関数 (スクリプト関数)
指定したIDのウィンドウの位置・サイズを変更します。IDのみを指定した場合、そのウィンドウをアクティブにします。
GETID関数 (スクリプト関数)
指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。UWSCでウィンドウを操作するのによく使う関数です。
HNDTOID関数 (スクリプト関数)
引数に指定したハンドル値をIDに変換して返します。IDをハンドル値に変換するにはIDTOHND関数を使います。
CTRLWIN関数 (スクリプト関数)
ウィンドウの状態を操作します。ウィンドウを終了、アクティブ化、表示・非表示、最大化・最小化などができます。
GETALLWIN関数 (スクリプト関数)
全ウィンドウのIDを取得します。
IDTOHND関数 (スクリプト関数)
引数に指定したIDをハンドル値に変換して返します。ハンドル値をIDに変換するにはHNDTOID関数を使います。