高橋名人(連射キー・トリガキー割り当て自在の超高速連打ツール)v4.80   とつげき東北  English ホーム
for WINDOWS95以降。フリーソフト(使用無料)。著作権はとつげき東北が保有。このソフトは雑誌掲載されたようです←本人無関心



説明


伝説の高橋名人をソフトウェアにしました( ´m`)
1秒間16連打も簡単に実現します。

PCでちょっとしたシューティングをやる時、連射が面倒です。
このソフトを使えば、キーボードのボタンやマウスクリックを連打することができます。
あるキーに、別のキーの連打を割り当てることができます。
まあファミコンエミュなどでゲームする時にもけっこう使えますよ。

とつげき東北がネット上で見つけた全ての「連打系ツール」のうちで最速の連打性能を持っています。



特長

web検索で少し探したところ、連打ソフトで、以下の特長を併せ持ったものが見つけられなかったので、自作しました。
好きなボタンを連打できる(マウスクリックだけでなく、好きな)
・あるボタンを連射する機能を好きなボタンに割り当てられる(コードなど調べる必要なく)
「ボタンを押している間だけ連射」もできる(完全自動連射もできる)
・連打の速さを細かく正確に調節できる
・同じボタンの、異なる速さの連打を、複数のボタンに別々に割り当てられる
・(以上のような操作がすべて)複数のボタンに対応できる
システムの処理速度限界に迫った、最高速の連打が実現できる
・DLL等が不要でスタンドアロン
・使い方等が日本語で説明されている
このソフトは上述のような特長を持っています。

特に連打速度に関してはこのソフトは優秀で、抜群の連打性能を引き出すことが可能です。後にパフォーマンステストで報告します。
開発環境は Borland C++ Builder Pro 5 です。



ダウンロード

高橋名人ダウンロード(lzh圧縮・約180KB) 利用規約に同意された方のみ使用可能です



使い方


起動するとこの画面が出ます。
まずは、連射したいボタン、および、連射するために押すボタンを指定するために「ストップ&設定」を押してください。
設定が終わったら、「作動開始」を押すと連射機能が実現されるようになります。
作動している状態でトリガキー(後述)を押下することによって、目的のキーを連射する仕組みです。
「名人ストップ!」を押すと、機能が停止します。


設定画面です。
どのキーを押すと連射が始まるか、連射されるキーはどれかを指定します。

「トリガキー」
連打するために押すキーを指定します。ここで指定したキーを押す(押しっぱなしにする)ことで、目的とするキーを連射する情報をWINDOWSに送ることができます。
指定の方法は以下の3通りあります。
・「set」をクリックした後、指定したいキーを実際に押す(簡単です)
・リストボックスから、指定したいものを選択する(簡単で確実です。また「オート」などを指定することもできます)
・Codeの欄にキーコードを直接入力する(面倒ですが細かい設定ができます)
「トリガキー」に「オート」を選ぶと、何もボタンを押していない状態で連射になります(マウスの左クリックをオート連射などにすると少々操作が怖いので注意してください)。
「連射キー」
連打されるキーを指定します。ここで指定したキーが、連射されることになります。
指定の方法はトリガキーと同じです。

起動直後には「左Shiftキー」がトリガキーになっていて、「左クリック」が連射キーになっています。この状態では、左側のシフトボタンを押すことで、マウスの左クリックを連射することができます。
なお「連射キー」と「トリガキー」を同じボタンにすると、そのボタンの連射が次のトリガ入力になり、ボタンを離しても連射が続くようになってしまいます
一応、同じキーに割り当てることもできるようになっていますが、基本的には別々のコードを割り当てるようにしてください。
Codeに直接キーコード値を指定する場合、このページの下のコード表を参考にして下さい。

「連射間隔」
1秒当たり何度ボタンを連打するかを、小数で入力できます。大きすぎる値や小さすぎる値にはできないようになっています。
一応大きな値にすることもできますが、右の「ウェイト」の値が変化しなくなったら、それ以上連射は速くなりません。また処理速度限界に達した場合も、それ以上連射は速くなりません(不安定になるだけです)。

「高分解能パフォーマンスカウンタを使用する」
実行中の環境(ハードウェア)が高分解能パフォーマンスカウンタをサポートしている場合(Pentium以降)、このチェックボックスにチェックすることができます。
チェックすると、極めて精度の高いカウンタを利用することができるようになります。
パフォーマンスカウンタが使用できる環境では起動時からチェックされています。また利用できない環境ではチェックがつけられません。
後のパフォーマンステストで報告しますが、この場合に「高橋名人」の連打速度は最高値を記録し、また連射間隔の正確さも最高になります。
ただし、通常のシューティングゲームなどをする場合、これを使うほど高速な連射をしてもシステムが不安定になるだけで効果は得られないでしょう
またこの方式はCPUにかなり負担をかけるので注意してください。

「連射のウェイトをかけない」
高分解能パフォーマンスカウンタを利用していて、下記の「ボタンを押した直後に離す」設定になっている場合にだけチェックできます。
理論上最高の速度で連射します。システムに強い負荷がかかります。

「ボタンを押した直後に離す」
通常、「高橋名人」は、指定した連打周期の半分の周期で「ボタンを押す」「ボタンを離す」作業を繰り返します。
要求される連射が速くなってくると、処理がこの半周期に追いつかなくなります。
そこで半周期ではなく1周期ごとに、「ボタンを押す、直後に離す」ように設定するのがこのスイッチです。
この機能を使っていない状態で連射速度が限界に近づいた場合に指定しますが、不安定です。


複数のキーを同時に連射設定にしたい場合、このソフトを複数同時に起動して別々に割り当てればできます
またこれを用いて、2種類の連射速度をボタンによって使い分けることなども可能です。
例えばSpaceキーを連打するときに、「Zキー」を押すと最高速連射、「Xキー」を押すと通常速度連射、などにすることができます(この場合、「高橋名人」を2つ同時に起動し、両方の「連射キー」を「Spaceキー」にし、片方の「トリガキー」を「Zキー」に、もう片方の「トリガキー」を「Xキー」に設定します。連射間隔を各々調節すればオッケーです)。



注意点

このソフトは、キーのマッピングを変化させるツールではありません
例えば「Aキー」に「Xキー連打」を割り当てた状態でAキーを押すと、WINDOWSは「Aキー入力」と「Xキーの連続入力」を認識します。
したがって、当該ソフトで通常に使用されるキーに割り当てを行うとうまく動作しない可能性があります(Aキーがポーズ機能を持っていたとすると、Xキーの連射と共にポーズもかかります)。
同様の理由で、あるキーの連射を、そのキーに割り当てようとするとうまくいきません(左クリックすると左クリック連射、というようなことはできません)。
注意して下さい。



連射速度の調整法(重要)

あるプログラムが「連射」を判断するには、「ボタンの押下」と「ボタンを離す」操作を、プログラムが両方とも認識できる必要があります。
あまりにも連射が早すぎるとプログラム側がついていけず、「ボタンを離していない間に次のボタンが押された」=「ボタンは押しっぱなし」というように判断されてしまい、連射できません。
いくつかのゲームで試してみたところ、押下および離すタイミングは、1秒あたりせいぜい10〜20発程度が良いと思います。
たいていの場合、ゲーム側がその程度まで以上の連射に対応してませんので、無駄に連射速度を上げても不安定になるだけだと思います。
ゲームによって、受け付ける連射速度の幅などが変化しますので、いくつかの値で微調整しながら、最高速連射になる点を見つけておくといいです。

しかし、WINDOWSのソフトでマウスのクリックの速さを単純に競うような場面においては、この限りではありません。
連射間隔を1にし、インターバルなしにすることで、速い連射に設定しましょう。

いきなり初めから速い連射にすると、システムが不安定になる可能性があります(最悪の場合フリーズします)。
最初は遅い目の連射で、対象のアプリが処理落ちなどを起こしていないことを確認しながら、徐々に連射速度を上げていくようにしてください。



パフォーマンステスト

「高橋名人」の連射性能をテストしました。

  連打数(回/秒) 1秒あたり連打数 非限界時連射速度安定性
「高橋名人」20ms通常連打(起動時の状態) 3000/60 50
「高橋名人」1msインターバルなし連打 6000/60 100(連打限界)
「高橋名人」5重起動1ms連打(インターバルなし) 4700/10 470 ×
「高橋名人」倍率5倍1ms連打 4900/10 490 ×
「高橋名人」倍率10倍1ms連打 8300/10 830 ×
「高橋名人」倍率5000倍1ms連打 9600/10 960 ×
「高橋名人」高分解能最高速連打 9800/10 980
「高橋名人」高分解能最高速倍率10倍連打 11000/10 1100
参考記録      
他連打ツール1 100/1 100  
他連打ツール1の2重起動連打 69/1 69  
他連打ツール2 100/1 100  
他連打ツール2の5重起動連打 351/1 351(490)※  
他連打ツール2の10重起動連打 332/1 332(490)※  


「高橋名人」は連打性能が高く、「連打速度を測定するツール」の多くが、処理落ちしてしまい正しく計測できません。
そこで「秀丸」を用いて、腕時計で時間を計測し、時間内に入力できた文字数をカウントして計測しました。当初1分間にしていましたが、入力数が多くなるとメモリ操作に時間がかかると思われ、後の方で減速してしまうので、速い連射については10秒程度にしました。
高スコア部分はほとんど限界に迫っているために、その時のWINDOWSの動作などによってかなりばらつきます。極力平均的な値を抽出していますが、100程度の差は誤差かもしれません。
他の連打ツールでは、残念ながら「左クリックの連打」に機能が絞られているため、処理落ち覚悟で計測しました。
※のついた部分の値については、実質的な連打数は変わってくると思います。「高橋名人」の多重起動時と同等程度のスコアと見なすことができると思います。
()内におおよそ対応する値を記入しました。


「高橋名人」は、高分解能パフォーマンスカウンタを利用した場合に、最高速連射性能が最も高くなります。
また、このカウンタはWINDOWSのタイマよりも正確ですので、低速連射時には連射タイミングが最も正確になります。
最高速連打や連射タイミングの正確さを追及する場合はこのモードがふさわしいでしょう。

ただし、ほとんどの一般的なゲームにおいては、高分解能連打での最高速連射ほどの連打をするとゲームの処理落ちが発生したり、WINDOWSが不安定になります。
最初は遅い連射で動作を試してから、徐々に速い連射に変えていくようにして下さい。



連打性能の研究結果

各々の連射方式についての研究結果を報告します。
以下、とつげき東北の環境下(WINDOWS2000、単一CPU)での結果を記述します。連射数などの記述もこれに準じます。

1)1/1ms連射(通常連射方式):

WINDOWSタイマを用いて、「1ms」ごとに1度ずつの連打を行う連射方式を、仮に通常連射方式と呼びます。
1msに1回の連射を行っているわけですから、理論上は1秒に1000回連射できることになります。
実際は1秒に1000回の連射は処理速度上不可能ですので、当然それ以下の連射速度になります。
ところが、実はここで不思議な現象が生じます。


「高橋名人」で、通常連射方式を用いた場合の連射速度を、斎藤 公輔氏製作の連打測定器にてパフォーマンスを調べた結果が上図です。
100連打/1秒という結果です(最高記録は、記録の上2ケタしか表示されないので10となってますが)。
また他の連打ツールとの比較のために、Vectorに登録されている連打ツールである、レク魔氏製作のレンダ君でもこのテストを行ったところ、全く同じで100連打/1秒でした。
レンダ君はこの通常連射方式を使っていることが想像できますが、問題は、100連打/1秒という記録にあります。
先のパフォーマンステストでも通常連射方式において、「秀丸」でも100連打/1秒という記録が出ました。
また、他の某連射速度測定系ソフト(風船を割るゲーム)においても、「高橋名人」「レンダ君」ともに100連打/1秒が記録されました(ただし、このソフトは恐ろしいことに、「残り10秒」から始まって「残り0秒」までの実質11秒間に連射させ、連射回数を10で割るというミスをしでかしていましたので、ここではそれを補正して考えています)。
自作の連射測定ツールにて、1秒あたりの仮想キー状態の変化から連射速度を計測したところ、これも100連打/1秒でした(レンダ君も同スコア)。

何らかの方法を用いれば1秒に100連打より多い連射を行うことができることは、パフォーマンステストを見ても明らかなのに、なぜか単純連射方式では100連打/1秒という限界があるのです。
しかもこれは、WINDOWSの処理能力の限界や、アプリ側の連打受付の限界ではありません。というのもそれらは、他の方式でのもっと速い連射を実際に受け付けているからです。
処理速度的な限界ではないにもかかわらず、100連打/1秒という謎の限界が生ずるという、このような特性を以後連打限界と呼びます。
色々な方法を試しましたが、WINDOWSのタイマイベントやマルチメディアタイマを使った処理を行う限り、この連打限界を超えることはできませんでした。
WIN32 APIプログラマーズリファレンスによると10msより小さい高周波のtimeSetEventは避けるべきだとありますが、かといってまさか「安全装置」が働いているとも思えません。誤差があるのは承知でしたが、timeGetTimeでも全く同じ結果になったのは意外でした(timeTickCountのNTでの誤差が10ms程度になり、timeGetTimeを使用すれば誤差が減るという定量的な実験結果報告の載ったページを読んでいたからです)。
原因はともかく、「通常連射方式の限界」が存在し、かつ、それを破る方法があることに違いはありません。

通常連射方式は、「連打ツールを作ろう」と思い立ったときに、最も単純に思いつく連打の方式です。
連打コードをタイマと独立に送出しつづけることは、システムを非常に不安定にさせるので、どうしてもタイマを用いることになるわけです。
そしてその場合に使うタイマはWINDOWSの1ms分解能の一般的なタイマである場合がほとんどでしょう。
それゆえに多くの「高橋名人」以外の連射ツールの最高連射性能は、(単体では)ちょうど連打限界と同じ値である「100連打/1秒」になるわけです。


2)n/1ms連射(並行連射方式):

では、連打限界を超える連打を行うにはどうすれば良いでしょうか?
1回のタイマイベント(一応、理論上は毎1msに生ずることになっている)ごとに、複数の連打をしてしまおうというのが並行連射方式です。

・同時起動の方法
例えば、「高橋名人」を複数同時に起動した場合のパフォーマンスを調べたのが下の画面です。



起動個数 スコア(平均値)
    1   100前後
    2   199前後
    3   294前後
    4   333前後
    5   340前後

複数の「高橋名人」が、各々1msごとに1連打ずつの連射を行うため、結果的に連打限界を破ることができます。
2つ同時起動状態では、理論値どおり、ほぼ2倍の連射性能を発揮しました。
3つ以上になるとシステム全体の限界値に近づくためなのか、あるいは連射が早すぎてソフトが対応できないのか、連射性能の向上は緩やかになりました(「秀丸」でのパフォーマンステストと結果が異なるのは、受け取り側アプリケーションの処理の違いによるものです)。

パフォーマンステストの結果にある通り、他の優秀な連打ツールの中には、多重起動によってこれと同じ方式で連射性能を向上できるものがありました。
yamyam氏製作の「れんこちゃん」がそれです。「連打測定器」による計測では、「高橋名人」の多重起動と同程度のスコアを記録しています。
このソフトはユーザインターフェイスも非常に洗練されており、優れた連射ツールだと言えます。


・マルチスレッドの方法
複数同時起動ではなくて、「高橋名人」内部で並行連射専用のスレッドを作成し、マルチスレッドにして連打を行った時にも、これに近い結果を得ることができました。
ただし、処理が複雑になるためか、連射性能は複数起動時よりも低下しました。


・連射倍率の方法
並行連射方式を実現する別の方法として、単純にタイマ割り込みごとに複数回、連射のコードを送出する方法があります。
これが「高橋名人」にある連射倍率の考え方です。
複数起動と同様の連射性能向上を図ることができます。
「秀丸」におけるテストでは、複数起動による並行連射と、連射倍率による並行連射は、ほぼ同じパフォーマンスを発揮しました。

この方式の欠点は、連射が偏る(ある瞬間には非常に高速に連射し、別の瞬間にはほとんど連射しないような症状)ことです。
というのも、単位時間ごとに複数回の連打をするので、ある入力と次の入力の間の時間を計測する術がないためです。
偏った(部分的に異常に高速な)連打は、WINDOWSやアプリケーションに大きな負担をかけやすく、しかも「押しっぱなし」と認識され思うように連射性能が上がらないこともあります。

下図は、連射を処理するのにWINDOWSの処理時間が独占されてしまい、アプリ側が時間計測処理をするのが大幅に遅れてしまったために異常な記録が出た時のものです。


JavaScriptなどの処理ではハングしてしまうこともあると思います。
どの程度の倍率に設定すればWINDOWSやアプリが不安定にならないかは、完全にユーザの環境やその時の状態に依存してしまいます。
WINDOWSに大きな負荷がかかる場合は、「高橋名人」自体が応答を受け付けなくなったり、WINDOWSがフリーズする可能性もあります


3)1/t(t<1)ms連射(高分解能タイマ連射方式):

連打限界を破る優れた方法の一つに、高分解能パフォーマンスカウンタの利用が挙げられます(インストールされているハードウェアがサポートしている必要がある)。
これはWINDOWSのタイマよりも非常に高い精度のカウンタで、とつげき東北の環境では1/3500000秒をカウントすることができました。
この方法を使えば、偏らせることなく(カウンタ精度の根拠を持って)、1msに1回より多い連打を安定して行うことができます。
ようするに、「連打限界」とは、どうやらWINDOWS側の一般的なタイマイベントの最小単位(=10ms)に依存して生じている、と考えられます。

パフォーマンステストにおいても抜群の(恐らくほとんどWINDOWSの処理速度限界近い)スコアを出しており、他の連打方式の限界は最高でもこのあたりの数字になることが予想できます(もっとも、複数起動法などの場合は無駄な処理が多くかかるため、連打性能において高分解能タイマ連射方式を超えることは現実的ではありません)。「連打測定器」で異常でない記録が出た時、この方式でのスコアは400を超えており、5重起動連射時の340よりかなり高性能であることがわかります。
加えて、もしも仮に他の連打方式の最高速連打が(場合によっては無限にキー入力だけを繰り返すプログラムが)、この方式の最高速連打と同程度のスコアを出せるとしても、この方式にはさらに強いメリットがあります。
高分解能タイマ連射方式では、最高速連射における限界値以下の連射であれば、連射間隔を正確に指定できるというのがそれです。
例えば400連射/1秒という正確な間隔指定は、他の方式ではかなり困難でしょう。
この方式ですと、そうした指定が比較的容易に行えます。


処理に閉ループを作らなければならず、CPUに負担をかけることは否めませんが、連打ツールにとって重要ないくつかの目的(高速な連射・正確な連射間隔)に対して、この連射方式は最良の方式だと言えるでしょう。
ただし、処理速度の限界を超えるほど短い周期で連射させようとした場合、他の危険なケースと同様にWINDOWSの動作に致命的な結果をもたらすことがあります。

このモードで連射倍率を高くした場合、「高橋名人」の処理のほとんどはmouse_event(keybd_event)の発生にのみ充てられます(ただしその分、「高橋名人」の応答が悪くなります)。



稼動テスト

いくつかの一般的なゲームでの動作テストを行いました。
一般的なシューティングゲームであれば、複数起動による超高速連射は必要なく、むしろいくらかの時間差を持たせた方が安定した連射になりました。

  
手動によるマウス連打(左)よりも明らかに高橋名人の方が(右)速い。
しかも安定している(切れ目は画面内8発の制限によるものだろう)。
ちなみにバキュラは壊せません(謎)。



いかにシューティングとは言え、常に連射になっていると不都合なもの。
通常の発射ボタン(例えばZだとします)とは別に、「Zの連射ボタン」をAに割り当てるなどすると非常に便利です。



数々のシューティングのベストスコアは君のものだ(笑)
手連射の時の1.5倍近い得点が取れてます。
しかもこのスコアも、面倒になってやめただけでまだまだ余裕があります。
やっぱ高橋名人は違うぜ。



下は某連打ゲームのオンラインランキング。
2位の人も別の連打ツールを使っているようですが、5倍程度の差がでています。



下も同様にオンラインランキング。
「凸」が、「高橋名人」を用いたとつげき東北です。
とりあえずごめんなさい。

順位 名前 タイム
0位 ヨッシー
1位 420
2位 440
3位 480
4位 匿名 830
5位 j_name 1050
6位 1412
7位 1452
8位 masa??? 1783
9位 masa??? 1802
10位 masa??? 1862
11位 masa??? 1873
12位 masa??? 1892
13位 masa??? 1903
14位 masa??? 1913
15位 masa??? 1933

(以下省略)



著作権および利用規約

利用規約



version information

v1.00 初公開
v1.20 UI改良
v2.00 トリガキーが設定できるようになった
v2.10 タイミングが精確になった
v2.20 インターバルなし機能を導入し、最高性能を上げた
v2.30 実行ファイルを小さくした
v2.40 アイコンイメージ変更
v2.50 リストボックスを作り設定が容易になった
v3.00 連射倍率の設定が可能になった
v3.10 UIを改良しシステムのタイマ分解能を表示できるようにした
v4.00 高分解能パフォーマンスカウンタの導入
v4.10 キーの指定に、直接ボタンを押す方法が使えるようになった
v4.20 面倒な周期設定は全て隠蔽し、連射間隔として周波数(1秒あたりの連射回数そのもの)を指定できるようになった
v4.30 UPXを用いて実行ファイルのサイズを40%程度にした
v4.40 スペースなどのキー指定の際、「指定する」操作と「ボタンを押す」操作がかぶってうまく設定できなかったので修正。
v4.50 微調整
v4.60 微調整
v4.70 キー割り当てがうまくいかない環境があったので改善。
v4.80 低速な連打を可能とした。作者についてを追加した。



コード資料

「高橋名人」への指定は10進数です。

1)自作キーコード表
キーコード指定に便利なように10進値を記入しました。
また、例えばDOS/V機のキーコードでテンキーでない「/」のキーのコードがありませんが、PC98の「/」のキーコードである191(0xBF)を指定すればできますのでそれがわかるようにした版です。
WIN32 APIプログラマーズリファレンスでは「未定義」になっていても実際には値が割り当てられていて、便利なキーコード(左シフトなど)は埋めておきました。
値のないところは、省略または未定義なので別途確認してください。PC98の空欄部分は未調査です。

シンボリック定数名 16進値 10進値 DOS/V PC98
  00 0 -(「高橋名人」内ではオートに相当) -
VK_LBUTTON 01 1 マウスの左ボタン  
VK_RBUTTON 02 2 マウスの右ボタン  
VK_CANCEL 03 3 コントロールブレイク処理用  
VK_MBUTTON 04 4 マウスの中央ボタン  
VK_BACK 08 8 BackSpace BS
VK_TAB 09 9 Tab TAB
VK_CLEAR 0C 12 Clear CLR
VK_RETURN 0D 13 Enter リターン
VK_SHIFT 10 16 Shift SHIFT
VK_CONTROL 11 17 Ctrl CTRL
VK_MENU 12 18 Alt GRPH
VK_PAUSE 13 19 Pause 未定義
VK_CAPITAL 14 20 CapsLock CAPS
VK_KANA 15 21 英数カナキー  
VK_ESCAPE 1B 27 Esc ESC
VK_SPACE 20 32 Space スペース
VK_PRIOR 21 33 PageUp ROLLDOWN
VK_NEXT 22 34 PageDown ROLLUP
VK_END 23 35 End HELP
VK_HOME 24 36 Home HOME
VK_LEFT 25 37
VK_UP 26 38
VK_RIGHT 27 39
VK_DOWN 28 40
VK_SELECT 29 41 Select 未定義
VK_EXECUTE 2B 43 Execute 未定義
VK_SNAPSHOT 2C 44 PrintScreen COPY
VK_INSERT 2D 45 Ins INS
VK_DELETE 2E 46 Del DEL
VK_HELP 2F 47 Help Help
VK_0 30 48 0 0
VK_1 31 49 1 1
VK_2 32 50 2 2
VK_3 33 51 3 3
VK_4 34 52 4 4
VK_5 35 53 5 5
VK_6 36 54 6 6
VK_7 37 55 7 7
VK_8 38 56 8 8
VK_9 39 57 9 9
VK_A 41 65 A A
VK_B 42 66 B B
VK_C 43 67 C C
VK_D 44 68 D D
VK_E 45 69 E E
VK_F 46 70 F F
VK_G 47 71 G G
VK_H 48 72 H H
VK_I 49 73 I I
VK_J 4A 74 J J 
VK_K 4B 75 K K
VK_L 4C 76 L L
VK_M 4D 77 M M
VK_N 4E 78 N N
VK_O 4F 79 O O
VK_P 50 80 P P
VK_Q 51 81 Q Q
VK_R 52 82 R R
VK_S 53 83 S S
VK_T 54 84 T T
VK_U 55 85 U U
VK_V 56 86 V V
VK_W 57 87 W W
VK_X 58 88 X X
VK_Y 59 89 Y Y
VK_Z 5A 90 Z Z
VK_NUMPAD0 60 96 テンキーの0 テンキーの0
VK_NUMPAD1 61 97 テンキーの1 テンキーの1
VK_NUMPAD2 62 98 テンキーの2 テンキーの2
VK_NUMPAD3 63 99 テンキーの3 テンキーの3
VK_NUMPAD4 64 100 テンキーの4 テンキーの4
VK_NUMPAD5 65 101 テンキーの5 テンキーの5
VK_NUMPAD6 66 102 テンキーの6 テンキーの6
VK_NUMPAD7 67 103 テンキーの7 テンキーの7
VK_NUMPAD8 68 104 テンキーの8 テンキーの8
VK_NUMPAD9 69 105 テンキーの9 テンキーの9
VK_MULTIPLY 6A 106 テンキーの0  テンキーの*
VK_ADD 6B 107 テンキーの+ テンキーの+
VK_SEPARATOR 6C 108 Separator テンキーの ,
VK_SUBTRACT 6D 109 テンキーの- テンキーの-
VK_DECIMAL 6E 110 テンキーの. テンキーの.
VK_DIVIDE 6F 111 テンキーの/ テンキーの/
VK_F1 70 112 F1 F1
VK_F2 71 113 F2 F2
VK_F3 72 114 F3 F3
VK_F4 73 115 F4 F4
VK_F5 74 116 F5 F5
VK_F6 75 117 F6 F6
VK_F7 76 118 F7 F7
VK_F8 77 119 F8 F8
VK_F9 78 120 F9 F9
VK_F10 79 121 F10 F10
VK_F11 7A 122 F11 F11
VK_F12 7B 123 F12 F12
VK_F13 7C 124 F13 F13
VK_F14 7D 125 F14 F14
VK_F15 7E 126 F15 F15
VK_F16 7F 127 F16 F16
VK_F17 80 128 F17 F17
VK_F18 81 129 F18 F18
VK_F19 82 130 F19 F19
VK_F20 83 131 F20 F20
VK_F21 84 132 F21 F21
VK_F22 85 133 F22 F22
VK_F23 86 134 F23 F23
VK_F24 87 135 F24 F24
VK_NUMLOCK 90 144 NumLock 未定義
VK_SCROLL 91 145 ScrollLock CTRL+テンキーの=
VK_OEM_EQU 92 146 OEM指定 テンキーの=
VK_LSHIFT A0 160 左Shift  
VK_RSHIFT A1 161 右Shift  
VK_LCONTROL A2 162 左Ctrl  
VK_RCONTROL A3 163 右Ctrl  
VK_LMENU A4 164 左メニュー  
VK_RMENU A5 165 右メニュー  
VK_OEM_EQU BA 186 OEM指定 :
VK_OEM_EQU BB 187 OEM指定 ;
VK_OEM_COMMA BC 188 OEM指定 ,
VK_OEM_MINUS BD 189 OEM指定 -
VK_OEM_PERIOD BE 190 OEM指定 .
VK_OEM_2 BF 191 OEM指定 /
VK_OEM_3 C0 192 OEM指定 @
VK_OEM_4 DB 219 OEM指定 [
VK_OEM_5 DC 220 OEM指定 \
VK_OEM_6 DD 221 OEM指定 ]
VK_OEM_7 DE 222 OEM指定 ^
VK_OEM_8 DF 223 OEM指定 _
VK_ATTN F6 246    
VK_CRSEL F7 247    
VK_EXSEL F8 248    
VK_EREOF F9 249    
VK_PLAY FA 250    
VK_ZOOM FB 251      
VK_NONAME FC 252   未定義
VK_PA1 FD 253   未定義
VK_OEM_CLEAR FE 254     



2)WIN32 APIプログラマーズリファレンス版キーコード表
下はWIN32 APIプログラマーズリファレンスマニュアルにある資料のコピペ。
上の表と微妙に違いますが、「高橋名人」のキーコード指定では問題にならないでしょう。

シンボリック定数名 値 (16進) マウスまたはボードの
VK_LBUTTON 01 マウスの左ボタン
VK_RBUTTON 02 マウスの右ボタン
VK_CANCEL 03 コントロール ブレーク処理に使用
VK_MBUTTON 04 マウスの中央ボタン (3つボタンのマウス)
05〜07 未定義
VK_BACK 08 BackSpace
VK_TAB 09 Tab
0A、 0B 未定義
VK_CLEAR 0C Clear
VK_RETURN 0D Enter
0E、 0F 未定義
VK_SHIFT 10 Shift
VK_CONTROL 11 Ctrl
VK_MENU 12 Alt
VK_PAUSE 13 Pause
VK_CAPITAL 14 Caps Lock
VK_KANA 15 英数カナ
16〜18 漢字システム用に予約
VK_KANJI 19 漢字システム用に予約
1A 未定義
VK_ESCAPE 1B Esc
VK_CONVERT 1C 漢字システム用に予約
VK_NOCONVERT 1D 漢字システム用に予約
1E、 1F 漢字システム用に予約
VK_SPACE 20 Space
VK_PRIOR 21 Page Up
VK_NEXT 22 Page Down
VK_END 23 End
VK_HOME 24 Home
VK_LEFT 25
VK_UP 26
VK_RIGHT 27
VK_DOWN 28
VK_SELECT 29 Select
2A OEM指定
VK_EXECUTE 2B Execute
VK_SNAPSHOT 2C Print Screen (Windows 3.0以降用)
VK_INSERT 2D Ins
VK_DELETE 2E Del
VK_HELP 2F Help
VK_0 30 0
VK_1 31 1
VK_2 32 2
VK_3 33 3
VK_4 34 4
VK_5 35 5
VK_6 36 6
VK_7 37 7
VK_8 38 8
VK_9 39 9
3A〜40 未定義
VK_A 41 A
VK_B 42 B
VK_C 43 C
VK_D 44 D
VK_E 45 E
VK_F 46 F
VK_G 47 G
VK_H 48 H
VK_I 49 I
VK_J 4A J
VK_K 4B K
VK_L 4C L
VK_M 4D M
VK_N 4E N
VK_O 4F O
VK_P 50 P
VK_Q 51 Q
VK_R 52 R
VK_S 53 S
VK_T 54 T
VK_U 55 U
VK_V 56 V
VK_W 57 W
VK_X 58 X
VK_Y 59 Y
VK_Z 5A Z
5B〜5F 未定義
VK_NUMPAD0 60 テンキーの0
VK_NUMPAD1 61 テンキーの1
VK_NUMPAD2 62 テンキーの2
VK_NUMPAD3 63 テンキーの3
VK_NUMPAD4 64 テンキーの4
VK_NUMPAD5 65 テンキーの5
VK_NUMPAD6 66 テンキーの6
VK_NUMPAD7 67 テンキーの7
VK_NUMPAD8 68 テンキーの8
VK_NUMPAD9 69 テンキーの9
VK_MULTIPLY 6A テンキーの*
VK_ADD 6B テンキーの+
VK_SEPARATOR 6C Separator
VK_SUBTRACT 6D テンキーの−
VK_DECIMAL 6E テンキーの.
VK_DIVIDE 6F テンキーの/
VK_F1 70 F1
VK_F2 71 F2
VK_F3 72 F3
VK_F4 73 F4
VK_F5 74 F5
VK_F6 75 F6
VK_F7 76 F7
VK_F8 77 F8
VK_F9 78 F9
VK_F10 79 F10
VK_F11 7A F11
VK_F12 7B F12
VK_F13 7C F13
VK_F14 7D F14
VK_F15 7E F15
VK_F16 7F F16
VK_F17 80H F17
VK_F18 81H F18
VK_F19 82H F19
VK_F20 83H F20
VK_F21 84H F21
VK_F22 85H F22
VK_F23 86H F23
VK_F24 87H F24
88〜8F 未定義
VK_NUMLOCK 90 Num Lock
VK_SCROLL 91 Scroll Lock
92〜B9 未定義
BA〜C0 OEM指定
C1〜DA 未定義
DB〜E4 OEM指定
E5 未定義
E6 OEM指定
E7、 E8 未定義
E9〜EF OEM指定
VK_DBE_ALPHANUMERIC F0 漢字システム用に予約*
VK_DBE_KATAKANA F1 漢字システム用に予約*
VK_DBE_HIRAGANA F2 漢字システム用に予約*
VK_DBE_SBCSCHAR F3 漢字システム用に予約*
VK_DBE_DBCSCHAR F4 漢字システム用に予約*
VK_DBE_ROMAN F5 漢字システム用に予約*
VK_DBE_NOROMAN F6 漢字システム用に予約*
VK_DBE_ENTERWORDREGISTERMODE F7 漢字システム用に予約*
VK_DBE_ENTERIMECONFIGMODE F8 漢字システム用に予約*
VK_DBE_FLUSHSTRING F9 漢字システム用に予約*
VK_DBE_CODEINPUT FA 漢字システム用に予約*
VK_DBE_NOCODEINPUT FB 漢字システム用に予約*
VK_DBE_DETERMINESTRING FC 漢字システム用に予約*
VK_DBE_ENTERDLGCONVERSIONMODE FD 漢字システム用に予約*
FE 未定義



検索用
高橋 名人 高橋名人 連射 連射ツール WINDOWS WINDOWS
連射ソフト 16連射 16連射 連打 連打ツール 連打ソフト 16連打 16連打