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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0810
whoさんkeybd_event10解決


whoさん

リンク

2010/8/10(Tue) 09:36:35|NO.34329

keybd_event で、
「,」
を打たせるにはどうしたらいいでしょうか。


#include "llmod3\\llmod3.hsp" #include "llmod3\\input.hsp" exec "notepad" keybd_event □,-1 ;ここの□の数値を知りたいんです。

よろしくお願いします。



この記事に返信する


SYAM

リンク

2010/8/10(Tue) 10:32:28|NO.34330

なんか Windows2000/XPでないとダメみたいに書かれてますね。95や98では試してないのでどうなるのか知りませんが…

http://yokohama.cool.ne.jp/chokuto/urawaza/prm/virtual_key_code.html



ext

リンク

2010/8/10(Tue) 13:15:37|NO.34331


onkey *keycheck title "キーを入力してください。" stop *keycheck Keycode(0)=wparam Keycode(1)=iparam mes "["+cnvwtos(Keycode(1))+"]のキーコードは["+Keycode(0)+"]です。"
onkeyを使えばわかりますよ。



moritoshi

リンク

2010/8/11(Wed) 17:55:30|NO.34353

188でカンマ出ましたよ。
98持ってないんでわかりませんが。



whoさん

リンク

2010/8/11(Wed) 22:06:30|NO.34365

188ですか。ありがとうございます。
続けて質問申し訳ないですか、「*」はどうやったらいいのでしょうか。



inovia

リンク

2010/8/11(Wed) 22:36:23|NO.34367

> 続けて質問申し訳ないですか、「*」はどうやったらいいのでしょうか。

SYAM さんが提示してくれたサイトですべて解決すると思うのですが。
* で ページ検索をかけると 6A とヒットするので
16進数で 0x6A もしくは $6A 、10進数で106 となる。



whoさん

リンク

2010/8/11(Wed) 22:57:59|NO.34368

それができないんですよ。



inovia

リンク

2010/8/11(Wed) 23:06:38|NO.34369

> それができないんですよ。

私の環境ではメモ帳に * が挿入されています。

Windows Vista Home Premium SP2
Windows XP Professional SP3

セキュリティソフトにブロックされているというのも考えられますね。



MillkeyWeler

リンク

2010/8/12(Thu) 01:01:05|NO.34371

一部環境では、バーチャルコード(スキャンコード)変換しないと、仮想キーのみでは入力できない事があるのではないでしょうか?
当方 Windows Vista Home Basic (32BIT)環境で、keybd_event のみで、入力させようとしたら、すべてのキーが無反応になりました。

一応モジュールを書いておきます。

#module Keybd_events #uselib "user32.dll" #func keybd_event "keybd_event" int,int,int,int #cfunc MapVirtualKey "MapVirtualKeyA" int,int ;######################################################## ; キーボード仮想入力イベント ; ; keybd_send prm1,prm2 ; ; prm1 = キーボードの仮想キーコードを指定 ; prm2 = 押し上げ判定 ( 0 なら、押した状態 : 1 なら、上げた状態 ) ;######################################################## #deffunc keybd_send int prm1,int prm2 kb_vir=MapVirtualKey(prm1,0) if prm2=0 : keybd_event prm1,kb_vir,2,0 : await 0 ;反応しない場合、wait を長くしてね。 if prm2=1 : keybd_event prm1,kb_vir,0,0 : await 0 return #global



whoさん

リンク

2010/8/14(Sat) 11:19:06|NO.34396

ありがとうございました。



たのひと

リンク

2010/9/23(Thu) 05:28:01|NO.35113

横から失礼します。
ジョイパッドのキーを押したらアプリのショートカットが押されるような常駐プログラムが作りたくて色々調べてたどり着きました。
MillkeyWelerさんのモジュールで、やりたかったことがかなり出来るようになりました。
ありがとうございます。

ただ、使ってみて分かったのですが、
 prm2 = 押し上げ判定 ( 0 なら、押した状態 : 1 なら、上げた状態 )
が、逆でした。

keybd_eventの3番目の引数が2の場合は、キーを離した状態ですね。



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