Contents
ショートカットキーを実行します。
- 構文
- void = SCKEY( ID, キー, [キー, キー, キー, ...] )
- 引数
- ID
- Windowを識別するID
- キー
- アルファベット1文字もしくは仮想キー(VK_*)動作としてVK_SHIFT, VK_CTRL, VK_ALT, VK_WIN のキー指定は押し下げ状態のまま処理する指定するウィンドウがない場合には IDに 0を指定
- 戻り値
プログラム実行例
アクティブウィンドウのスクリーンショットを撮る
クリップボードにスクリーンショットがコピーされます。
SCKEY(GETID(GET_ACTIVE_WIN), VK_ALT, VK_SNAPSHOT)
メモ帳に本文を入力し[名前を付けて保存]ダイアログボックスを開いて保存する
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
- CREATEOLEOBJ
- FSO.GetParentFolderName
- FSO.GetFileName
- EXEC
- GETID
- SENDSTR
- CLKITEM
- FSO.FolderExists
- CTRLWIN
- SLEEP
- SCKEY
解説
- 1行目
- FileSystemObjectオブジェクトを生成。
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
- 2行目
- 保存先のパスを指定。
DIM path = "D:\Desktop\sample.txt"
- 3行目
- パスからフォルダ部分を取得。
DIM folderspec = FSO.GetParentFolderName(path)
- 4行目
- パスからファイル名を取得。
DIM filename = FSO.GetFileName(path)
- 6行目
- メモ帳を起動。
EXEC("notepad")
- 7行目
- メモ帳のIDを取得。
DIM ID = GETID("メモ帳", "Notepad")
- 8行目
- メモ帳に文章を入力。
SENDSTR(ID, "内容", 0)
- 9行目
- [名前を付けて保存]を実行。
CLKITEM(ID, "ファイル\名前を付けて保存", CLK_MENU)
- 12行目
- [名前を付けて保存]ダイアログボックスのIDを取得。
DIM ID2 = GETID("名前を付けて保存", "#32770")
- 14行目
- [名前を付けて保存]ウインドウをアクティブ化する。
CTRLWIN(ID2, ACTIVATE)
- 15行目
- 0.500秒待機する。
SLEEP(0.500)
- 17行目
- F4キーでアドレスバーを選択。
SCKEY(ID2, VK_F4)
- 18行目
- フォルダ名を入力。
SENDSTR(ID2, folderspec, 1, TRUE)
- 19行目
- Enterキーで確定・移動。
SCKEY(ID2, VK_RETURN)
- 20行目
- 0.500秒待機する。
SLEEP(0.500)
- 22行目
- Alt+Nでファイル名を選択。
SCKEY(ID2, VK_ALT, VK_N)
- 23行目
- ファイル名を入力。
SENDSTR(ID2, filename, 1, TRUE)
- 24行目
- 0.500秒待機する。
SLEEP(0.500)
- 26行目
- [保存]ボタンをクリックする。
CLKITEM(ID, "保存", ITM_BTN)
仮想キーで文章を入力
DIM ID = EXEC("notepad")
CTRLWIN(ID, ACTIVATE)
SCKEY(ID, VK_SHIFT, VK_T)
SCKEY(ID, VK_H, VK_I, VK_S, VK_SPACE, VK_I, VK_S, VK_SPACE, VK_A, VK_SPACE, VK_P, VK_E, VK_N, VK_OEM_PERIOD)
- 結果
This is a pen.
キーコードの調べ方
入力したキーの仮想キーコードをリアルタイムで調べることのできるフリーソフトウェアのKeymillを使うと簡単に取得できます。
KT Software – Keymill例
デスクトップを表示する(Windows+D)
SCKEY(0, VK_WIN, VK_D)
設定画面を表示する(Windows+I)
SCKEY(0, VK_WIN, VK_I)
仮想デスクトップを追加する(Windows+CTRL+D)
SCKEY(0, VK_WIN, VK_CTRL, VK_D)
仮想キーコード一覧
値 | 定数名 | キー |
---|---|---|
8 | VK_BACK | Backspaceキー |
9 | VK_TAB | Tabキー |
12 | VK_CLEAR | Clearキー |
13 | VK_RETURN | Enterキー |
13 | VK_ENTER | Enterキー |
16 | VK_SHIFT | Shiftキー |
17 | VK_CTRL | Ctrlキー |
17 | VK_CONTROL | Ctrlキー |
18 | VK_ALT | Altキー |
18 | VK_MENU | Altキー |
19 | VK_PAUSE | Pauseキー |
20 | VK_CAPITAL | CapsLockキー |
21 | VK_KANA | IMEかなモード |
24 | VK_FINAL | IME final mode |
25 | VK_KANJI | IME漢字モード |
27 | VK_ESC | Escキー |
27 | VK_ESCAPE | Escキー |
28 | VK_CONVERT | 変換キー |
29 | VK_NONCONVERT | 無変換キー |
30 | VK_ACCEPT | IME accept |
31 | VK_MODECHANGE | IME mode change request |
32 | VK_SPACE | Spaceキー |
33 | VK_PRIOR | PageUpキー |
34 | VK_NEXT | PageDownキー |
35 | VK_END | Endキー |
36 | VK_HOME | Homeキー |
37 | VK_LEFT | ← |
38 | VK_UP | ↑ |
39 | VK_RIGHT | → |
40 | VK_DOWN | ↓ |
41 | VK_SELECT | |
42 | VK_PRINT | Printキー |
43 | VK_EXECUTE | Executeキー |
44 | VK_SNAPSHOT | Print Screenキー |
45 | VK_INSERT | Insertキー |
46 | VK_DELETE | Deleteキー |
47 | VK_HELP | Helpキー |
48 | VK_0 | 0キー |
49 | VK_1 | 1キー |
50 | VK_2 | 2キー |
51 | VK_3 | 3キー |
52 | VK_4 | 4キー |
53 | VK_5 | 5キー |
54 | VK_6 | 6キー |
55 | VK_7 | 7キー |
56 | VK_8 | 8キー |
57 | VK_9 | 9キー |
65 | VK_A | Aキー |
66 | VK_B | Bキー |
67 | VK_C | Cキー |
68 | VK_D | Dキー |
69 | VK_E | Eキー |
70 | VK_F | Fキー |
71 | VK_G | Gキー |
72 | VK_H | Hキー |
73 | VK_I | Iキー |
74 | VK_J | Jキー |
75 | VK_K | Kキー |
76 | VK_L | Lキー |
77 | VK_M | Mキー |
78 | VK_N | Nキー |
79 | VK_O | Oキー |
80 | VK_P | Pキー |
81 | VK_Q | Qキー |
82 | VK_R | Rキー |
83 | VK_S | Sキー |
84 | VK_T | Tキー |
85 | VK_U | Uキー |
86 | VK_V | Vキー |
87 | VK_W | Wキー |
88 | VK_X | Xキー |
89 | VK_Y | Yキー |
90 | VK_Z | Zキー |
91 | VK_WIN | Windowsキー |
92 | VK_START | 右Windowsキー |
92 | VK_RWIN | 右Windowsキー |
93 | VK_APPS | アプリケーションキー (右クリックメニュー) |
95 | VK_SLEEP | Sleepキー |
96 | VK_NUMPAD0 | 0キー(テンキー) |
97 | VK_NUMPAD1 | 1キー(テンキー) |
98 | VK_NUMPAD2 | 2キー(テンキー) |
99 | VK_NUMPAD3 | 3キー(テンキー) |
100 | VK_NUMPAD4 | 4キー(テンキー) |
101 | VK_NUMPAD5 | 5キー(テンキー) |
102 | VK_NUMPAD6 | 6キー(テンキー) |
103 | VK_NUMPAD7 | 7キー(テンキー) |
104 | VK_NUMPAD8 | 8キー(テンキー) |
105 | VK_NUMPAD9 | 9キー(テンキー) |
106 | VK_MULTIPLY | *キー(テンキー) |
107 | VK_ADD | +キー(テンキー) |
108 | VK_SEPARATOR | separatorキー |
109 | VK_SUBTRACT | -キー(テンキー) |
110 | VK_DECIMAL | 小数点キー |
111 | VK_DIVIDE | /キー(テンキー) |
112 | VK_F1 | F1キー |
113 | VK_F2 | F2キー |
114 | VK_F3 | F3キー |
115 | VK_F4 | F4キー |
116 | VK_F5 | F5キー |
117 | VK_F6 | F6キー |
118 | VK_F7 | F7キー |
119 | VK_F8 | F8キー |
120 | VK_F9 | F9キー |
121 | VK_F10 | F10キー |
122 | VK_F11 | F11キー |
123 | VK_F12 | F12キー |
144 | VK_NUMLOCK | NumLockキー |
145 | VK_SCROLL | ScrollLockキー |
161 | VK_RSHIFT | 右Shiftキー |
163 | VK_RCTRL | 右Ctrlキー |
165 | VK_RALT | 右Altキー |
166 | VK_BROWSER_BACK | ブラウザ戻るキー |
167 | VK_BROWSER_FORWARD | ブラウザ進むキー |
168 | VK_BROWSER_REFRESH | ブラウザ更新キー |
169 | VK_BROWSER_STOP | ブラウザ停止キー |
170 | VK_BROWSER_SEARCH | ブラウザサーチキー |
171 | VK_BROWSER_FAVORITES | ブラウザお気に入りキー |
172 | VK_BROWSER_HOME | ブラウザホームキー |
173 | VK_VOLUME_MUTE | 音量をミュートにする |
174 | VK_VOLUME_DOWN | 音量を下げる |
175 | VK_VOLUME_UP | 音量を上げる |
176 | VK_MEDIA_NEXT_TRACK | メディア次トラックキー |
177 | VK_MEDIA_PREV_TRACK | メディア前トラックキー |
178 | VK_MEDIA_STOP | メディア停止キー |
179 | VK_MEDIA_PLAY_PAUSE | メディア再生キー/メディア一時停止キー |
180 | VK_LAUNCH_MAIL | メール起動キー |
181 | VK_LAUNCH_MEDIA_SELECT | メディア選択キー |
182 | VK_LAUNCH_APP1 | 起動キー1 |
183 | VK_LAUNCH_APP2 | 起動キー2 |
186 | VK_OEM_1 | OEM定義(;:*等)キー |
187 | VK_OEM_PLUS | OEM定義(;+等)キー |
188 | VK_OEM_COMMA | OEM定義(, |
189 | VK_OEM_MINUS | OEM定義(-=等)キー |
190 | VK_OEM_PERIOD | OEM定義(.>等)キー |
191 | VK_OEM_2 | OEM定義(/?等)キー |
192 | VK_OEM_3 | OEM定義(~@`等)キー |
219 | VK_OEM_4 | OEM定義([{)キー |
220 | VK_OEM_5 | OEM定義(\|)キー |
221 | VK_OEM_6 | OEM定義(]})キー |
222 | VK_OEM_7 | OEM定義('"^~)キー |
223 | VK_OEM_8 | OEM定義キー |
233 | VK_OEM_RESET | OEM定義キー |
234 | VK_OEM_JUMP | OEM定義キー |
235 | VK_OEM_PA1 | OEM定義キー |
236 | VK_OEM_PA2 | OEM定義キー |
237 | VK_OEM_PA3 | OEM定義キー |
250 | VK_PLAY | |
251 | VK_ZOOM | |
901 | VK_RRETURN |
関連記事
- ACW (スクリプト関数)
- 指定したIDのウィンドウの位置・サイズを変更します。IDのみを指定した場合、そのウィンドウをアクティブにします。
- CHKBTN (スクリプト関数)
- 指定したIDのウィンドウにあるチェックボックス・ラジオボタンがチェックされているかを返します。
- CLKITEM (スクリプト関数)
- 指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。
- CTRLWIN (スクリプト関数)
- ウィンドウの状態を操作します。ウィンドウを終了、アクティブ化、表示・非表示、最大化・最小化などができます。
- GETALLWIN (スクリプト関数)
- 全ウィンドウのIDを取得します。
- GETCTLHND (スクリプト関数)
- ボタン等、オブジェクトのハンドルを取得します。
- GETID (スクリプト関数)
- 指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。UWSCでウィンドウを操作するのによく使う関数です。
- GETITEM (スクリプト関数)
- 指定したIDのウィンドウのキャプション文字やリストなどを取得すします。取得した情報は配列変数のALL_ITEM_LIST[ ]に格納されます。戻値は取得した数でInteger型です。
- GETSLIDER (スクリプト関数)
- スライダー(トラックバー、スクロールバー)の値を取得します。
- GETSTR (スクリプト関数)
- 引数に指定したIDのウィンドウの文字列を取得します。取得した文字列を返します。
- HNDTOID (スクリプト関数)
- 引数に指定したハンドル値をIDに変換して返します。IDをハンドル値に変換するにはIDTOHND関数を使います。
- IDTOHND (スクリプト関数)
- 引数に指定したIDをハンドル値に変換して返します。ハンドル値をIDに変換するにはHNDTOID関数を使います。
- MOUSEORG (スクリプト関数)
- マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送ります。
- SENDSTR (スクリプト関数)
- 指定したIDのウィンドウに文字列を送信します。キー入力をする場合はKBD関数を使います。
- SETSLIDER (スクリプト関数)
- スライダー(トラックバー、スクロールバー)の値を設定します。
- STATUS (スクリプト関数)
- ウィンドウの各種状態を取得します。タイトル・クラス名・X座標・Y座標・幅・高さなどを取得することができます。
- KBD (スクリプト関数)
- SETHOTKEY (スクリプト関数)
- SETHOTKEY関数は、ホットキーを設定しProcedure関数を呼び出すことができる関数です。キーコードは仮想キーを指定します。関数の呼び出しに成功した場合はTRUE、失敗した場合はFALSEを返します。