タイトル : Re^3: SendInput検索中 投稿日 : 2012/06/07(Thu) 16:33 投稿者 : 魔界の仮面弁士
> 文字をABC→vbKeyA vbKeyb vbKeyc に 公式の一覧表としてはこれにあたります。 http://msdn.microsoft.com/en-us/library/ms927178.aspx > 変換する関数がわかりません 無いと思います。MapVirtualKeyEx API だと、 スキャンコード → 仮想キーコード 仮想キーコード → スキャンコード 仮想キーコード → 文字値 はできますが、その逆の 文字値 → 仮想キーコード はできないんですよね…。 Num Lock、Kana Lock、Caps Lock、IME のOn/Off などによって、 キー入力した内容と実際に入力される内容は変わってきますので、 入力させたい文字列が固定的でない場合は、変換には苦労しそうです。 (特に、漢字を入力させるような場合など) > Asciiコードと同じではない見たいです。 KeyPress イベントの KeyAscii 引数が ASCII コード。 KeyDown/KeyUp イベントの引数がキーコードに相当します。 ASCII と一致するもの(A〜Z など)もありますが、基本的には別物ですね。 http://msdn.microsoft.com/ja-jp/library/gg153546.aspx 》一般に、仮想キー コードは、ASCII コードなどの他の文字エンコード標準には 》対応づけられていません。同じキーで異なる文字が入力される点や、 》ファンクション キーなどの一部のキーはどの文字にも対応していないことを 》考えれば、このことは明らかです。 》ただし、次の仮想キー コードは、相当する ASCII 値とマッピングされています。 》 ・ 0 〜 9 のキー = ASCII 値の '0' 〜 '9' (0x30 〜 0x39) 》 ・ A 〜 Z のキー = ASCII 値の 'A' 〜 'Z' (0x41 〜 0x5A) 》このマッピングはある意味で混乱の元になります。先ほど説明したように、 》仮想キー コードは決して文字と解釈するべきではないためです。 > 先に「お行儀が悪い」とおっしゃっていた > 貼り付け機能を使えれば そちらのほうが楽なのかもしれません そうかも知れませんね。クリップボード経由で行うのなら、 [Shift]+[Insert] か [Ctrl]+[V] を送出すればいけそうです。 貼り付けを禁止するように設計された Web サイトは駄目かも知れませんが。 |