• 締切済み
  • 暇なときにでも

Cでキーイベントを発生させるには???

任意のキーを、ソフトウェア的に押すことは簡単に可能でしょうか。 たとえば、ダイアログボックスのボタンを押してくれるフリーソフトがありますが それと同様な処理を行いたいのです。 ソフトウェアを起動しておいて、キーボードのありとあらゆるキーを順番に 押したことにし、ソフトに『押されたキー情報』として渡したいのです。

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.2

SendMessage(hwnd, uMsg, wParam, lParam)を使います。 各引数には、次のような値をあてはめます。 hwnd : 『押されたキー情報』を送りたいソフトのウィンドウハンドル uMsg : WM_KEYDOWN wParam : VK_C lParam : 0 wParam : VK_Cは、Cキーの場合です。詳細は仮想キーコードをヘルプで調べるべし。 lParamはわかりません(ごめんなさい)

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございました。 これだけわかれば十分です、助かりました。

  • 回答No.1

WindowsのAPIを使えば可能でしょう。 WindowMessageでアクティブウィンドウにキー情報を送れば可能なはずです。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。 ヘルプで見てみると、そのようなAPIがどうも見つからないようなのですが (素人)DirectX か何かでしょうか??? 具体的な使い方が載ってないので 難儀しています。。。

関連するQ&A

  • キーボードマクロでダイアログの出ないものは

    キーボードマクロを探しているのですが、ダイアログから「再生」ボタンで実行するものしか見当たりません。 ダイアログが出ず、入力キーのファイルをパラメータとして起動し、実行後終了させたいのですが、そういうったフリーソフトはありませんか? ご存知の方、宜しくお願いします。

  • キーイベントを擬似的に発生させることは可能?

    JavaScriptのイベント処理で質問なのですが、 keydownなどのキーイベントを、実際にキーを押さずに擬似的に「このキーが押された」というイベントを発生させることは可能でしょうか? そもそも不可能ではと思っているのですが もしそういうテクニックがあるのならと思い質問させていただきました。 また、JavaScriptでは無理だがFirefoxのアドオンなら可能といった情報があればぜひ教えていただきたいと思います。

  • キーイベントに関してなのですが・・・

    C#を使用しているんですが、テキストボックスをひとつ設置して、KeyDownイベントが発生した時に、同じキーが2度入力されたようにできませんか? aと入力したらテキストボックスにはaaと入力される感じです。 sendKeyメソッドを使用しようとしたら、大文字になってしまいます・・・ KeyCodeからキーボード判定はできたりしませんか? よろしければ教えてください><

  • JoyToKeyのキーイベント処理

    1つのキーを押すと複数のキーを押したことにするソフトを作ろうと思いました。 そこで以下の方法でキーイベントを発生させて試してみました。 ・keybd_eventで処理。 ・PostMessageで処理。 ・SendInputで処理。 しかしメモ帳などではちゃんと機能するのですが、ゲームで機能してくれないものがあります。 JoyToKeyを使うときちんとキーボードが押された事になっているので、何か他の方法があるのだろうかと思い質問させていただきました。 よろしくお願いします。

  • Accessでのキーイベントの処理について

    Access2007のフォームのテキストボックスに指定のキーが押されると 「指定キーの処理」→「テキストボックスは指定キーが押される前の状態にする」 上記の動作をさせようとしているのですが、「指定キーの処理」は「キーイベントの処理」でうまく行ってるのですが、どうしてもテキストボックスに「今押したキー」が入力されてしまいます。 動作は 1:キー'A'が押される 2:キーイベントの処理を実施→Private Subを実行  Private Sub TB1_KeyDown(KeyCode As Integer, Shift As Integer)    TB1_Copy = Me![TB1]    ~~~~~~~~~~~キーイベントに関する処理 ’省略    Me![TB1] = TB1_Copy  End Sub 以上の様にしているのですが、テキストボックスに「今押したキー」が入力されてしまいます。 宜しくご指導下さい。

  • スマホ用のサイト開発

    iPhone用の、情報登録サイトを開発しています。 そこで、テキストボックスに情報を入力したあと、ソフトキーボードの「開く」キーを押した時に画面の登録ボタンを押した時と同じ処理をさせたいのですが、見当がつかず困っています。 どなたか教えて頂けませんでしょうか?

    • ベストアンサー
    • HTML
  • ソフトキーボードについて

    私は肢体不自由でキー入力には「ソフトキーボード」を使っています。 最初はWindows標準のソフトキーボードやIMEやATOKのキーボードを使っていたのですが、 どうも使い勝手が悪く今では「Soft Keyboard」や「PIGYソフトウェアキーボード」を使っています。 ですが、「Soft Keyboard」はエクスプローラーなどでファイルを複数選択するときに shiftキーやctrlキーが利きません。 「PIGYソフトウェアキーボード」ではshiftキーやctrlキーは使えるんですが レイアウト上(テンキーや変換キーなど使いたいボタンがない)ちょっと使いづらいんです。 その時々で使い分けているのですが、それも結構大変で…^^; それで色々と探していたら Cork - software keyboard http://www.vector.co.jp/soft/winnt/util/se461191.html と言うソフトを見つけました。 このソフトならキーボードのサイズも調整できshiftキーやctrlキーも利きますし、 欲しいボタンもついていて非常に使いやすかったんです。 ただ、2ヶ月の試用期間の設定がしてあり、それはいいんですが公開から2ヶ月?だったのか インストールした日にPCを再起動したら 「試用期間を過ぎました。引き続きご利用していだたく場合はお買い求めをお願いします」 とでます。 その後起動も出来ず、ベクターのページから作者のページへ飛ぼうとしてもページが無く…。 ベクターではまだ購入可能、でも、ソフトは試用期間が過ぎていて起動できず 購入したとしてもライセンス入力も出来ない状態です。(まだ買ってはいませんが) やっと理想に近いソフトキーボードが見つかっただけに残念です。 ライセンス入力が出来る状態にするのは無理なんでしょうか? また、こういう場合はやっぱ買わない方がいいでしょうか? もしくは106キーボードのようなレイアウトでshiftキーやctrlキーがちゃんと動作するような 使いやすいソフトキーボードを知ってる方はいませんか? お勧めなどがあったら是非教えてください^^ フリーソフト・シェアウェアは問いません。 よろしくお願いします。

  • JavaScriptのキーイベント

    JavaScriptのキーイベント いつもお世話になりますm(__)m Javascriptのキーイベントで教えて下さい。 フォーム上に、テキストボックス(id=A)とセレクトボックス1(id=B)と、セレクトボックス2(id=C)があるフォームがあり、フォーム内の項目移動をキーボードで行いたいと思います。 各項目のkeydownイベントでキーコードを取得して、Aの場合 Enter(13)又は→(39)なら、Bへ ←(37)なら、Cへ 移動するようにキーコードを取得して移動するようにしました。 IEだと問題なく動くのですが、Firefoxだと、矢印キーで移動した時に、移動先のセレクトボックスの値が  ←で動いた場合、セレクトボックスの値が1つ前  →で動いた場合、セレクトボックスの値が1つ後 に変わってしまいます。 (フォーカスは問題なく移動先のセレクトボックスにあります) 移動した後(例えばB.focus()の後)に、まだキーイベントが残っていて、Bにフォーカス移動後に、→キーが押されたような状態っぽいのです。 Firefoxの場合、セレクトボックスにフォーカスがある時、キーボードの左右で値を変更できるので、その辺りが原因と思うのですが、移動時に左右矢印キーのイベントを無効(?)にする事はできないのでしょうか? 雑な書き方で申し訳ありませんが、お詳しい方、是非ともご教授下さいm(__)m 宜しくお願い致します。

  • JavaScriptのキーイベントについての質問です。

    JavaScriptのキーイベントについての質問です。 フォーム上にテキストボックス、セレクトボックス、ボタンがあります。 それぞれの項目移動をキーボード(enter)で行いたいのですが、 テキストボックスからセレクトボックスへの移動は、 onkeydownとonblurにより、enter押下にて行えるのですが、 セレクトボックスからボタンへの移動が行えません。 これは可能なのでしょうか? できればセレクトボックスにフォーカスされている時にenter押下で、ボタンを押すようにしたいです。 ブラウザはIEです。 どなたか是非ともご教示お願い致します。

  • タスクバーのウィンドウの順番の入れ替えソフト

    ブラウザやその他ソフトを立ちあげると、 立ち上がった順番にタスクバーに左から起動されたソフトのボタンが表示されますが、 これを任意の順番に入れ替えることのできるソフトをご存じないでしょうか。 フリー/シェアは問いません。 OS:WinXP ※クイック起動バー、タスクトレイではなく、 タスクバーに並ぶボタンの入れ替えだけでかまいません。