none
SendKeysで{^}が送られない RRS feed

  • 質問

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

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

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

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

    ご教授ください。

    2018年5月14日 20:31

回答

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

    参考:Reference Source : SendKeys

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

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

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

    • 回答としてマーク nebokken 2018年5月15日 2:34
    2018年5月15日 1:03

すべての返信

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

    悩みます。

    2018年5月14日 20:58
  • {^} は、SHIFT + 6 を入力するように固定されてるみたいですね。

    参考:Reference Source : SendKeys

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

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

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

    • 回答としてマーク nebokken 2018年5月15日 2:34
    2018年5月15日 1:03
  • なるほど、そうでしたか。Developer Network に注意書きがほしかったですね。

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

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

    2018年5月15日 2:39