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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0203
おそろいキーを押した回数8解決


おそろい

リンク

2010/2/3(Wed) 07:54:27|NO.30360

起動したあと、他(メモ帳とかブラウザとか)で押されたキーの数を調べることってできますか?
例えばメモ帳で"あいうえお"と打ったら変数に5が入る、とかそんな感じで。



この記事に返信する


‍hamyuu

リンク

2010/2/3(Wed) 08:55:56|NO.30361


onkey goto*key *key a+1 mes a
これでキーが押される度にカウントされます。



おそろい

リンク

2010/2/4(Thu) 07:54:20|NO.30388

書いてなくてすみません
キーが押される度にカウントさせるというのはできます



SYAM

リンク

2010/2/4(Thu) 10:44:43|NO.30395

もしかして、押された「キーの種類」の数でしょうか。
あああいいうええええお でも 5 になるような。

もしそうなら、カウンターをキーの数だけ配列で用意しておいて、
onkeyでジャンプしたときに iparam に押されたキーのコードが入ってますから、
対応するカウンターをカウントアップして、
0より大きくなってるカウンターの数をカウントすることになるのかな…。



おそろい

リンク

2010/2/4(Thu) 11:03:40|NO.30397

いえ、「押されたキーの数」です。
「あいう」だと3、「かきく」だと6、「ああいう」だと4など。

説明が下手ですみません。
カウントさせる方法は分かるのですが、HSPのウィンドウを開いているときにしかカウントされません。
起動後に常駐させておいて、起動してる間にメモ帳などで文字を打つとカウントさせたいです。
つけたし。
タスクトレイに常駐させたいというか、起動しっ放しにしているときにってことです。



Chokoko

リンク

2010/2/4(Thu) 12:07:32|NO.30400

APIに関してはあまり知らないので非効率かも知れませんが、
これで出来るかと思います。


#uselib "user32.dll" #func GetAsyncKeyState "GetAsyncKeyState" int dim rock,256 repeat repeat 158,8 GetAsyncKeyState cnt if stat!0{ if rock(cnt)=0{ rock(cnt)=1 cn++ draw=0 } }else{ rock(cnt)=0 } loop if draw=0{ draw=1 redraw 0 color 255,255,255:boxf color 0,0,0:pos 0,0 mes "押した回数:"+cn+"" redraw } await 10 loop



おそろい

リンク

2010/2/4(Thu) 12:38:11|NO.30401

スクリプトまでありがとうございます。
user32.dllとGetAsyncKeyStateについて調べてみることにします。
ありがとうございました。



玄冬

リンク

2010/2/4(Thu) 13:35:14|NO.30403

こんなのを思いついたのですが…って解決済みになってましたね…
でも一応何かの参考になれば…
getkeyはhspのウィンドウがアクティブでなくてもキーが押されているか調べられるようです。

gosub *reset pos 0, 100 button gosub "reset", *reset *test repeat 130,3 //マウスのクリックは取らないように3〜 var_key = 0 getkey var_key, cnt if var_key { var_count++ color 255,255,255 boxf color pos 0,0 mes var_count wait 2 //同一イベントの重複チェックを防止 break } loop wait 5 goto *test stop *reset var_count = 0 color 255,255,255 boxf color pos 0,0 mes var_count return



おそろい

リンク

2010/2/5(Fri) 06:01:39|NO.30421

ありがとうございます。
スクリプト参考になります。

あと、ウィンドウを使ってる(最前面にある)状態をアクティブっていうんですね・・・
次から調べるときに役立ちそうです。
なんと説明すればいいのか分からなかったので助かりました。
ありがとうございました。



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