SCKEY

ショートカットキーを実行します。

構文
  1. void = SCKEY( ID, キー, キー, キー, キー, ... )
引数
ID必須
Windowを識別するID。指定するウィンドウがない場合には IDに 0を指定。
キー必須
アルファベット1文字もしくは仮想キー(VK_*)
動作としてVK_SHIFT, VK_CTRL, VK_ALT, VK_WIN のキー指定は押し下げ状態のまま処理する
戻り値

プログラム実行例

アクティブウィンドウのスクリーンショットを撮る

クリップボードにスクリーンショットがコピーされます。

UWSC
SCKEY(GETID(GET_ACTIVE_WIN), VK_ALT, VK_SNAPSHOT)
    (1) (1)

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

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

仮想キーで文章を入力

UWSC
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)
    (1) (3) (5-6)
結果
プレーンテキスト
This is a pen.

キーコードの調べ方

入力したキーの仮想キーコードをリアルタイムで調べることのできるフリーソフトウェアのKeymillを使うと簡単に取得できます。

KT Software - Keymill

デスクトップを表示する(WindowsD

UWSC
SCKEY(0, VK_WIN, VK_D)

設定画面を表示する(WindowsI

UWSC
SCKEY(0, VK_WIN, VK_I)

仮想デスクトップを追加する(WindowsCTRLD

UWSC
SCKEY(0, VK_WIN, VK_CTRL, VK_D)

仮想キーコード一覧

定数名キー
8VK_BACKBackspaceキー
9VK_TABTabキー
12VK_CLEARClearキー
13VK_RETURNEnterキー
13VK_ENTEREnterキー
16VK_SHIFTShiftキー
17VK_CTRLCtrlキー
17VK_CONTROLCtrlキー
18VK_ALTAltキー
18VK_MENUAltキー
19VK_PAUSEPauseキー
20VK_CAPITALCapsLockキー
21VK_KANAIMEかなモード
24VK_FINALIME final mode
25VK_KANJIIME漢字モード
27VK_ESCEscキー
27VK_ESCAPEEscキー
28VK_CONVERT変換キー
29VK_NONCONVERT無変換キー
30VK_ACCEPTIME accept
31VK_MODECHANGEIME mode change request
32VK_SPACESpaceキー
33VK_PRIORPageUpキー
34VK_NEXTPageDownキー
35VK_ENDEndキー
36VK_HOMEHomeキー
37VK_LEFT
38VK_UP
39VK_RIGHT
40VK_DOWN
41VK_SELECT
42VK_PRINTPrintキー
43VK_EXECUTEExecuteキー
44VK_SNAPSHOTPrint Screenキー
45VK_INSERTInsertキー
46VK_DELETEDeleteキー
47VK_HELPHelpキー
48VK_00キー
49VK_11キー
50VK_22キー
51VK_33キー
52VK_44キー
53VK_55キー
54VK_66キー
55VK_77キー
56VK_88キー
57VK_99キー
65VK_AAキー
66VK_BBキー
67VK_CCキー
68VK_DDキー
69VK_EEキー
70VK_FFキー
71VK_GGキー
72VK_HHキー
73VK_IIキー
74VK_JJキー
75VK_KKキー
76VK_LLキー
77VK_MMキー
78VK_NNキー
79VK_OOキー
80VK_PPキー
81VK_QQキー
82VK_RRキー
83VK_SSキー
84VK_TTキー
85VK_UUキー
86VK_VVキー
87VK_WWキー
88VK_XXキー
89VK_YYキー
90VK_ZZキー
91VK_WINWindowsキー
92VK_START右Windowsキー
92VK_RWIN右Windowsキー
93VK_APPSアプリケーションキー
(右クリックメニュー)
95VK_SLEEPSleepキー
96VK_NUMPAD00キー(テンキー)
97VK_NUMPAD11キー(テンキー)
98VK_NUMPAD22キー(テンキー)
99VK_NUMPAD33キー(テンキー)
100VK_NUMPAD44キー(テンキー)
101VK_NUMPAD55キー(テンキー)
102VK_NUMPAD66キー(テンキー)
103VK_NUMPAD77キー(テンキー)
104VK_NUMPAD88キー(テンキー)
105VK_NUMPAD99キー(テンキー)
106VK_MULTIPLY*キー(テンキー)
107VK_ADD+キー(テンキー)
108VK_SEPARATORseparatorキー
109VK_SUBTRACT-キー(テンキー)
110VK_DECIMAL小数点キー
111VK_DIVIDE/キー(テンキー)
112VK_F1F1キー
113VK_F2F2キー
114VK_F3F3キー
115VK_F4F4キー
116VK_F5F5キー
117VK_F6F6キー
118VK_F7F7キー
119VK_F8F8キー
120VK_F9F9キー
121VK_F10F10キー
122VK_F11F11キー
123VK_F12F12キー
144VK_NUMLOCKNumLockキー
145VK_SCROLLScrollLockキー
161VK_RSHIFT右Shiftキー
163VK_RCTRL右Ctrlキー
165VK_RALT右Altキー
166VK_BROWSER_BACKブラウザ戻るキー
167VK_BROWSER_FORWARDブラウザ進むキー
168VK_BROWSER_REFRESHブラウザ更新キー
169VK_BROWSER_STOPブラウザ停止キー
170VK_BROWSER_SEARCHブラウザサーチキー
171VK_BROWSER_FAVORITESブラウザお気に入りキー
172VK_BROWSER_HOMEブラウザホームキー
173VK_VOLUME_MUTE音量をミュートにする
174VK_VOLUME_DOWN音量を下げる
175VK_VOLUME_UP音量を上げる
176VK_MEDIA_NEXT_TRACKメディア次トラックキー
177VK_MEDIA_PREV_TRACKメディア前トラックキー
178VK_MEDIA_STOPメディア停止キー
179VK_MEDIA_PLAY_PAUSEメディア再生キー/メディア一時停止キー
180VK_LAUNCH_MAILメール起動キー
181VK_LAUNCH_MEDIA_SELECTメディア選択キー
182VK_LAUNCH_APP1起動キー1
183VK_LAUNCH_APP2起動キー2
186VK_OEM_1OEM定義(;:*等)キー
187VK_OEM_PLUSOEM定義(;+等)キー
188VK_OEM_COMMAOEM定義(,
189VK_OEM_MINUSOEM定義(-=等)キー
190VK_OEM_PERIODOEM定義(.>等)キー
191VK_OEM_2OEM定義(/?等)キー
192VK_OEM_3OEM定義(~@`等)キー
219VK_OEM_4OEM定義([{)キー
220VK_OEM_5OEM定義(\|)キー
221VK_OEM_6OEM定義(]})キー
222VK_OEM_7OEM定義('"^~)キー
223VK_OEM_8OEM定義キー
233VK_OEM_RESETOEM定義キー
234VK_OEM_JUMPOEM定義キー
235VK_OEM_PA1OEM定義キー
236VK_OEM_PA2OEM定義キー
237VK_OEM_PA3OEM定義キー
250VK_PLAY
251VK_ZOOM
901VK_RRETURN

関連記事

ACW (スクリプト関数)
ウィンドウの状態を変更、またはアクティブにします。
CHKBTN (スクリプト関数)
ボタン類の状態を返します。
CLKITEM (スクリプト関数)
アイテムをクリックします。
CTRLWIN (スクリプト関数)
ウィンドウの状態を制御します。
GETALLWIN (スクリプト関数)
全ウィンドウのIDを取得します。
GETCTLHND (スクリプト関数)
ボタン等、オブジェクトのハンドルを取得します。
GETID (スクリプト関数)
指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。
GETITEM (スクリプト関数)
キャプション文字やリスト等をすべて取得します。
GETSLIDER (スクリプト関数)
スライダー(トラックバー、スクロールバー)の値を取得します。
GETSTR (スクリプト関数)
文字列を取得します。
HNDTOID (スクリプト関数)
ハンドル値 をIDをに変換します。
IDTOHND (スクリプト関数)
IDを ハンドル値 に変換します。
MOUSEORG (スクリプト関数)
マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送ります。
SENDSTR (スクリプト関数)
文字列を送信します。
SETSLIDER (スクリプト関数)
スライダー(トラックバー、スクロールバー)の値を設定します。
STATUS (スクリプト関数)
ウィンドウの各種状態を返します。
KBD (スクリプト関数)
キーボードを操作します。
SETHOTKEY (スクリプト関数)
ホットキーを設定します。