KBD

キーボードを操作します。文字列を送信する場合はSENDSTR関数を使います。

構文
  1. void = KBD( 仮想KEY, [状態, ms] )
引数
仮想KEY
仮想KEYコード、もしくはUNICODE
状態
CLICK(0:デフォルト), DOWN(1), UP(2)
ms
実行までの待ち時間 (ミリセカンド)
戻り値

SENDSTRとの違い

SENDSTR関数は文字列を送信するのに対し、KBD関数はキー入力を行います。そのためIMEの状態(日本語入力か半角入力かなど)によって入力される文字が変わってきます。入力する文字列が決まっている場合はSENDSTR関数、キーボードを押したい場合はKBD関数を使いましょう。

以下の2つはメモ帳を起動し、Aキー、Iキー、Uキー、Eキー、Oキーを順に押してく例。同じAIUEOと押していく処理でもIMEの状態で結果が変わります。

2つのプログラムの違いはGETKEYSTATE関数の前に「!」があるかないかだけです。日本語入力と半角入力を意図的に変えています。

DIM ID = EXEC(“notepad”)
CTRLWIN(ID, ACTIVATE)

IF GETKEYSTATE(TGL_IME) THEN KBD(VK_KANJI,CLICK)
KBD(VK_A)
KBD(VK_I)
KBD(VK_U)
KBD(VK_E)
KBD(VK_O)
結果
aiueo
DIM ID = EXEC(“notepad”)
CTRLWIN(ID, ACTIVATE)

IF !GETKEYSTATE(TGL_IME) THEN KBD(VK_KANJI,CLICK)
KBD(VK_A)
KBD(VK_I)
KBD(VK_U)
KBD(VK_E)
KBD(VK_O)
結果
あいうえお

仮想キーコード一覧

定数名キー
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

デスクトップを表示します。

KBD(VK_WIN, DOWN)
KBD(VK_D)
KBD(VK_UP)

プログラム実行例

メモ帳の右クリックメニューを表示させる

DIM ID = EXEC("notepad")
CTRLWIN(ID, ACTIVATE)

KBD(VK_APPS, CLICK, 1000)
  1. EXEC
  2. CTRLWIN
  3. KBD

パソコンの音量を上げる

IFB KINDOFOS() >= 12 THEN
	KBD(VK_VOLUME_UP)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
  1. KINDOFOS
  2. KBD
  3. EXEC
  4. SETSLIDER
  5. GETSLIDER
解説
  1. 1-6行目
    IFB KINDOFOS() >= 12 THEN
    	KBD(VK_VOLUME_UP)
    ELSE
    	ID = EXEC("SNDVOL32.exe /t")
    	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
    ENDIF
    OSがWindows2000以降ならば、音量を上げる。Windows2000よりも前ならば、「SNDVOL32.exe /t」でボリュームコントロールの音量機能のみを起動し、スライダーを調整することで音量を上げる。

パソコンの音量を下げる

IFB KINDOFOS() >= 12
	KBD(VK_VOLUME_DOWN)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
  1. KINDOFOS
  2. KBD
  3. EXEC
  4. SETSLIDER
  5. GETSLIDER

日本語入力をONにする

IF !GETKEYSTATE(TGL_IME) THEN KBD(VK_KANJI, CLICK)
  1. GETKEYSTATE
  2. KBD

日本語入力をOFFにする

IF GETKEYSTATE(TGL_IME) THEN KBD(VK_KANJI, CLICK)
  1. GETKEYSTATE
  2. KBD

Was this post helpful?

関連記事

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