5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Windowsでキーをエミュレート

1 :デフォルトの名無しさん:2009/06/23(火) 09:34:40
Windows XP
VC++ 2008
を使ってます。


キーボードを押したように擬似させるプログラムをつくろうとしています。

sendInputというAPIを使うことでエディタやブラウザは制御できたのですが、ゲームはうまく動かせないんです。


spy++でメッセージをキャプチャしたところ、sendInputを使う場合と実際にキーボードを押す場合に違いはないように見えます。



どうすれば動かせるか御教授ください!

2 :デフォルトの名無しさん:2009/06/23(火) 09:45:16
ネトゲかよ
nProかなんかにでもはじかれてるんだろ

3 :デフォルトの名無しさん:2009/06/23(火) 09:48:27
ネトゲじゃなくてエミュレータ(SNESGT)です ><

4 :デフォルトの名無しさん:2009/06/23(火) 10:46:53
keybd_event関数

5 :デフォルトの名無しさん:2009/06/23(火) 11:26:38
>4
Windows NT/2000/XPからKeybd_eventは SendInputに取って代わったという情報があったのですが。

調べてみたところ動作はどちらも同じらしく、実際に使ってみましたが変わりないように思えます…

6 :デフォルトの名無しさん:2009/06/23(火) 12:14:17
>>1
マクロで楽しようとたくらんでる厨房か工房ですよね、わかりますよ^^

7 :デフォルトの名無しさん:2009/06/23(火) 13:25:10
えぇ、そうです。

どうしたらいいものですかね?

8 :デフォルトの名無しさん:2009/06/23(火) 13:43:56
今すぐ消えてください^^

9 :デフォルトの名無しさん:2009/06/23(火) 13:50:41
orz


1秒間に20回の頻度でメッセージを送ると時折反応するんですが、
毎回反応するわけではないようです。。。

10 :デフォルトの名無しさん:2009/06/23(火) 13:54:02
キーを押すイベントと離すイベントの間に時間待ちが無いだけじゃないだろうな

11 :デフォルトの名無しさん:2009/06/23(火) 14:01:58
単独スレにする必要は無いだろう。
次からはくだ質で。


DirectInput SendInput で検索すると色々出るけど、コレ
http://d.hatena.ne.jp/anon_193/20090504
なんてどうだ?


時折反応というのは、>>10 とか似たような原因も考えられるな。

12 :デフォルトの名無しさん:2009/06/23(火) 14:13:33
>>10
いやー、おっしゃるとおりでした!

実際にキーボードを押した場合にspy++でキャプチャしたメッセージのポストされた時間がどうなってるかを調べたところ、125ミリ秒間があることが分かりました。
そこでKEY_UPとKEY_DOWNの間にSleep(125)を入れたところ、無事認識してくれました。

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

13 :デフォルトの名無しさん:2009/06/23(火) 14:15:44
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

14 :デフォルトの名無しさん:2009/06/23(火) 20:05:36
最近のアイちゃんはレベルが低くなったな

3 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)