HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0704
HSP初心者仮想キーをハードウェアースキャンコードにするやり方教えてください。orz1未解決


HSP初心者

リンク

2009/7/4(Sat) 22:31:54|NO.26227

質問させていただきます。
現在あるゲームのチャットマクロを作ろうと思ったんですが、
どうやら仮想キーコードでの実行は受け付けてくれません。
そこで、過去レスからハードウェアースキャンコードたるものを見つけたんですが、
説明が大雑把で理解できません。(理解不足で申し訳ない)

簡単に何をしたいのか説明しますと、

チャット欄にマクロ定義した文字列を一文字づつ入力したいわけです。

例えば おはよう と言う文字列をマクロ定義しておき、設定したキーを押すと一文字づつ
入力して行くわけです。

仮想キーコードで実行ファイルを作り試してみましたができませんでした。

過去レスのハードウェアースキャンコードのアプリではキーイベが送信できましたが、
それをボタン一つで実行するマクロツールに改良することが、僕にはできませんでした。

どなたかご教授よろしくお願いします。



この記事に返信する


shinkun

リンク

2009/7/12(Sun) 14:10:25|NO.26337

キーイベント生成に関してのプログラム経験はないためレスを控えていたのですが、
投稿後一週間経っても誰からのレスも無いようなので、私の思う所を書いてみます。
お役に立てれば良いのですが…。

私はこの件、仮想キーだから出来ないというより他に原因があるように思います。
以下の 2 点どうなっているでしょうか?

(1) マクロを起動するための(人間による)キー入力が貴方の作ったチャットマクロ
  アプリケーションに送られているか?

  キー入力イベントは基本的にはアクティブな状態にあるウィンドウ 1 個に対してしか
  送られません。(という事だったと思います。)
  ゲーム中はゲームアプリケーションがアクティブ状態にあるでしょうので、マクロ起動
  のためのキー入力がゲームに奪われているかもしれません。奪われているなら、
  (コンピュータによる)キー入力イベントを発生させられませんよね?

(2) キーイベント送信前に、入力フォーカスがチャット欄に当てられているか?

  チャット欄がエディットボックスなどのオブジェクト(WinAPIで言うところのコントロール)
  で出来ている場合、ゲームがアクティブな状態にあっても、そのチャット欄に
  フォーカスが無ければ入力を反映させる事が出来ません。
  HSP3掲示板に書込みする時、本文を書く所をクリックしないと書き込み出来ませんよね?
  それと同じです。

他にも色々と問題がありそうなのですが、そのほとんどがたらればの話になりますので、
まずは可能性の高そうなこの 2 点を確認してみてはどうでしょうか?

それから、「いいや、仮想キーをスキャンコードに変換出来れば問題は解決するんじゃー!」
と確信があるのでしたら、WinAPI の「MapVirtualKey」関数が利用できそうです。
※場合によっては、MapVirtualKeyEx 関数を利用しなければならないかもしれません。

http://msdn.microsoft.com/ja-jp/library/cc410909.aspx


> 過去レスのハードウェアースキャンコードのアプリではキーイベが送信できましたが、
> それをボタン一つで実行するマクロツールに改良することが、僕にはできませんでした。

この辺、HSP初心者さんがすでにゲームのチャット欄にキーイベント送信出来ているのか、
それとも過去レス上では出来ていたけれど自分は出来てないのか、よく分かりませんでした。
スクリプトを挙げてもらうのが現状を最も共有しやすかろうと思うのですが、
少なくとも何が出来ていて何につまづいているかを詳細に説明して頂けると
多くの方からアドバイスがもらえるのではないでしょうか?



ONION software Copyright 1997-2023(c) All rights reserved.