• ベストアンサー

漢字キーの表現

漢字キーを自動入力したいのですが表現方法がわかりません。 アルファベットや数字キー等以外はどのように表現したらいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

キーボードの入力(特に漢字等の特殊キー)は、完全にOS依存なので、どのOSか指定が無いと調べようがありません。 それと、 「(結果に関係なく、とにかく)漢字キーを入力したい」なのでしょうか? 「自動で漢字入力モードに切り替えたい(そのために『漢字キーを押す』のと同じ操作をしたい)」なのでしょうか? 後者の場合、キー入力などせずに、直接制御する方法もあります。 「IME 制御」「入力モード 制御」等で検索してください。

miyaneya0
質問者

お礼

回答有難う御座います。 OSはWindowsで、後者の場合でしたので「IME 制御」を検索して方法を見つけることができました。

その他の回答 (2)

回答No.3

OSはWindowsでよろしいですか? setKeybrdが何を処理しているかわからないと、何を渡せばいいのか調べようがないと思いませんか? SendInputに渡すINPUT構造体に値を設定するのであれば、仮想キーコードとしてVK_KANJIというものがあります。これでうまくいくかどうかは、やってみたことがないのでわかりませんが。キーボードのデバイスドライバによって、キーの組み合わせが違う場合もありますし。

miyaneya0
質問者

お礼

回答有難う御座います。 OSはWindowsでしたので、ご指摘通りVK_KANJIを使ってうまく動作させることが出来ました。

noname#235638
noname#235638
回答No.1

ファンクションキー や デリートキー など 一つ一つ表現するか 標準タイプキー カーソルキー エスケープキー ファンクションキー シフト・オルト・コントロール・カタカナひらがなキー とまとめるか。

miyaneya0
質問者

お礼

回答有難う御座います。 たとえば Rキー をセットするような場合、 VOID setKeybrd( LPINPUT lpKey, WORD wVKey, BOOL bKeyDown ) {・・・・・・・・} INPUT Key[ 4 ]; LPINPUT lpKey = Key; setKeybrd( lpKey++, 'R', TRUE ); ・・・・・・・・ というようになるようですが、漢字キー等は 'R' のような簡単な表現方法がないということでしょうか。 私は基本的な知識がないようで、回答されたカタカナひらがなキー等の表現方法もわかりません。

関連するQ&A