SCKEY

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

構文
  1. 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)
  1. SCKEY
  2. GETID

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

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)
    [保存]ボタンをクリックする。

仮想キーで文章を入力

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. EXEC
  2. CTRLWIN
  3. SCKEY
結果
This is a pen.

キーコードの調べ方

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

KT Software – Keymill

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

SCKEY(0, VK_WIN, VK_D)

設定画面を表示する(WindowsI

SCKEY(0, VK_WIN, VK_I)

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

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 (スクリプト関数)
指定した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を返します。