SendKeysで{^}が送られない

Category: visual studio vb_ja

Question

nebokken on Mon, 14 May 2018 20:31:16


Developer Network の「SendKeysメソッド」では

プラス記号 "+"、カレット "^"、パーセント記号"%"、ティルダ"~"

上記の文字を送信するには中かっこ "{}" で囲みます。

とあったので、「^」を送るため、「{}」で囲みましたが、表示されるのは「&」です。どうしてなのか、困っています。

ご教授ください。

Replies

nebokken on Mon, 14 May 2018 20:58:34


補足です。ASCIIコードを利用してFor文でまわしてみましたが、どこにも「^」は見当たりませんでした。

悩みます。

Hongliang on Tue, 15 May 2018 01:03:09


{^} は、SHIFT + 6 を入力するように固定されてるみたいですね。

参考:Reference Source : SendKeys

US配列のキーボードなら確かにこの入力で ^ になるのですが、他のキーボード配列への配慮はないようです。

^の入力が必須なのであれば、SendKeysは諦めて、Windows APIのSendInput関数を直接呼び出すことも考えた方が良いかもしれません。

// 元々の実現したいことによっては、キー送信以外の解決策もあるかもしれませんが。

nebokken on Tue, 15 May 2018 02:39:34


なるほど、そうでしたか。Developer Network に注意書きがほしかったですね。

「^」は「²」を表示させるための前キーでしたので、さほど重要ではないです。「²」を直接表示させれば良いことですものね。

Hongliangさん、ありがとうございました。